我有两个表,每个表都包含一个名为"id“的字段,每个表中有不同的数据。我需要检索这两个I来构造URL。我使用了以下代码:
<?php // no direct access
mysql_connect("localhost", "user", "pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
$value = $_POST['password'];
$content = mysql_query("SELECT * FROM jos_content WHERE pass='$value'") or die(mysql_error());
$menu = mysql_query("SELECT * FROM jos_menu WHERE menutype='mymenutype' AND alias='$value'") or die(mysql_error());
$id = mysql_fetch_array( $content );
$itemid = mysql_fetch_array( $menu );
// Print out the contents of each row into a table
if(isset($_POST['password'])){
header('Location: ' . 'index.php?option=com_content&view=article&id=' . $id['id'] . '&Itemid=' . $itemid['id']);
exit;
}
?>但是,我只从第一个查询中获得数据,而第二个查询不返回任何数据。我做错什么了吗?也许我的SELECT查询拼写不正确?求求你帮帮我。
提前谢谢你,S。
发布于 2011-10-16 11:13:31
我看到的第一件事是您在第二个查询中也使用了password,我的直觉告诉我这并不是您想要的。
无论如何,为了调试查询,首先要查看错误日志,看看or die(mysql_error())部件是否抛出了什么东西。
如果没有,查询$menu字符串( echo ),按照mysql中显示的一样运行,看看是否返回一些记录。
发布于 2011-10-16 13:12:01
您可以使用var_dump($menu)查看调试结果。如果$itemid是一个多维数组,你必须像$itemid一样正确地使用索引,你可以尝试回显查询,并按照(Tudor Constantin)的建议在mysql中使用相同的查询。尝试像这样使用mysql连接
从jos_content中选择jc.id作为id,jm.itemid作为项id,jc左加入jos_menu作为jm.alias=jc.pass上的jm,其中jm.menutype='mymenutype‘和jc.pass='$value’
https://stackoverflow.com/questions/7782096
复制相似问题