PHP从多个表中选择数据会引发错误

PHP从多个表中选择数据会引发错误,php,mysql,Php,Mysql,我在一个名为categories and products的数据库中有两个表,我需要将它们互连,并显示每个类别下的所有相关产品,下面是我的方法 <table class="table table-striped"> <tr> <th>product id</th> <th>product name</th> <th>category name</th>

我在一个名为categories and products的数据库中有两个表,我需要将它们互连,并显示每个类别下的所有相关产品,下面是我的方法

<table class="table table-striped">                         
<tr>
<th>product id</th>
<th>product name</th>
<th>category name</th>
</tr>

<?php
mysql_connect("localhost","root");
mysql_select_db("inventory");
$res=mysql_query("SELECT c.* , p.* FROM categories c,products p WHERE c.id=p.category_id");
while($row=mysql_fetch_array($res))
{
 ?>                          

<tr>
    <td><p><?php echo $row['name']; ?></p></td>
    <td><p><?php echo $row['name']; ?></p></td>
    </tr> 

<?php
}
?>
</table>

您真的应该升级到PHP的最新版本

检查代码时没有错误。代码中没有错误处理。您在此处报告了一条错误消息,这表明错误日志至少正在工作

您的查询失败

查询失败的原因是以下至少一项失败:

mysql_connect("localhost","root");
mysql_select_db("inventory");
$res=mysql_query("SELECT c.* , p.* FROM categories c,products p WHERE c.id=p.category_id");
考虑:

$dbh=mysql_connect("localhost","root") || die (mysql_error());
mysql_select_db("inventory", $dbh) || die (mysql_error($dbh));
$qry="SELECT c.* , p.* FROM categories c,products p WHERE c.id=p.category_id";
$res=mysql_query($qry, $dbh) || die (mysql_error($dbh));

我认为SELECT语句也可能是一个问题,因为您得到的错误,您需要将两个表连接在一起以获得所需的数据

加入:

在不知道两个表中有哪些列的情况下,应该可以执行以下操作:

"SELECT p.*, c.* FROM products p JOIN categories c ON c.id = p.category_id"

当您从两个表中选择all(*)时,这可能会变得混乱,因此我建议您只选择要使用的列。

检查您的选择是否有效……您使用的是哪个PHP版本?哪个PHP版本?您好,PHP版本:5.6。38@user3736954请先参阅此消息,然后再参阅此错误消息。警告:mysql_select_db()希望参数2是第25行的/Applications/XAMPP/xamppfiles/htdocs/index.php中给出的资源布尔值。您不是从上面的代码中得到的(除非您确实使用的是标准mysql扩展以外的其他扩展)。该错误意味着
mysql\u conect()
调用失败-在这种情况下,执行将在到达
mysql\u select\u db()之前停止
"SELECT p.*, c.* FROM products p JOIN categories c ON c.id = p.category_id"