Php 如何一次查询两个表中具有相同名称但数据不同的字段?
我有两个表,都包含一个名为id的字段,每个表中有不同的数据。我需要检索两个ID来构造URL。我正在使用以下代码:Php 如何一次查询两个表中具有相同名称但数据不同的字段?,php,mysql,Php,Mysql,我有两个表,都包含一个名为id的字段,每个表中有不同的数据。我需要检索两个ID来构造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_quer
<?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查询拼写不正确?请帮忙
提前感谢,,
我看到的第一件事是,你在第二次查询中也使用了密码,我的直觉告诉我,这并不是你想要的 无论如何,为了调试查询,首先,查看错误日志,看看错误部分是否抛出了一些东西
如果没有,则回显$menu字符串查询,按照mysql中显示的方式运行该查询,并查看是否返回一些记录。当您让它返回某个内容时,更改字符串,就可以了-它应该可以工作了您可以使用var_dump$菜单查看调试结果。如果$itemid是一个多维数组,你必须正确地使用索引,比如$itemid[0]['id'],你可以尝试回显查询,并在mysql中使用Tudor Constantin建议的相同查询。尝试像这样使用mysql连接 在jm.alias=jc.pass上选择jc.id作为id,jm.itemid作为itemid从jos_内容作为jc左join jos_菜单作为jm,其中jm.menutype='mymenutype'和jc.pass='$value'