Php 内部联接适用于*但不适用于单个字段
如果我在PHP中使用以下行,MySQL查询工作得非常好:Php 内部联接适用于*但不适用于单个字段,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,如果我在PHP中使用以下行,MySQL查询工作得非常好: $query = " SELECT * FROM customers_1 JOIN customers_2 ON customers_1.id = customers_2.cus_id; "; 但当我试图得到两个这样的单个字段时: $query = " SELECT customers_1.product,customers_1.id FROM customers_1 JOIN customers_2
$query = "
SELECT *
FROM customers_1
JOIN customers_2
ON customers_1.id = customers_2.cus_id;
";
但当我试图得到两个这样的单个字段时:
$query = "
SELECT customers_1.product,customers_1.id
FROM customers_1
JOIN customers_2
ON customers_1.id = customers_2.cus_id;
";
它根本不工作,意味着我没有得到任何输出。当我复制并粘贴第二个查询并将其放入PHPMyAdmin时,它工作得非常好
我后来做的是:
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
if($row['id']=="3")
{
foreach($row as $field)
{
echo $field;
}
}
}
mysql_close($dbhandle);
因为
$row['id']
在您的代码中什么都不是,因为您只需从查询中获取一列
,选择客户1.产品..
,而该列就是产品
而且不需要foreach循环。您只需在单个while循环中获得您的值
更新问题后更新答案
while ($row = mysql_fetch_array($result)) {
if (!empty($row['id'])) {
echo $row['id'];
}
}
注意:-不推荐使用Mysql,而使用mysqli或PDO
当查询检索客户时,您正在比较代码中的
id
。product检查两个表中是否都有product
列。查询中的id字段($row['id'])在哪里?PHP 5.5.0中不推荐使用mysql扩展名。如果($row['id']=“3”)可能没有匹配的行,那么应该使用or扩展。我不是php爱好者,但这看起来有问题。或者,如果id
应该来自查询,则您没有选择它。请注意,这将为未定义的变量抛出一个错误。在不使用fetch by select语句的情况下使用id有意义吗?第二个选择查询需要获取id.im抱歉我编辑了这篇文章的原件,更改时出错了,我得到了courseim的字段id抱歉我编辑了这篇文章的原件,更改时出错了,我当然得到了字段id