Php 不显示结果的查询

Php 不显示结果的查询,php,Php,我正在做这个查询。它没有显示$products中的结果 代码: $sql=“选择s* 来自客户\代理\批准caa s.client\u id=caa.client\u id上的内部联接订阅 其中caa.agent_id=“$id” 和s.agent_id“$id”; $result=mysql\u查询($sql); $query=mysql\u query($sql)或die(“错误:.mysql\u Error()); 如果($result==“”){ 回声“; } 回声“; $rows=my

我正在做这个查询。它没有显示$products中的结果

代码:

$sql=“选择s*
来自客户\代理\批准caa
s.client\u id=caa.client\u id上的内部联接订阅
其中caa.agent_id=“$id”
和s.agent_id“$id”;
$result=mysql\u查询($sql);
$query=mysql\u query($sql)或die(“错误:.mysql\u Error());
如果($result==“”){
回声“;
}
回声“;
$rows=mysql\u num\u rows($result);
如果($rows==0){
打印(“”);
}elseif($rows>0){
while($row=mysql\u fetch\u array($query)){
$product=$row['product'];
印刷品(“他们拥有的产品是:$product”);
}
}

您有
s*
。我想你的意思是
s.*
。你也应该使用do。。。而对于查询迭代:

 $row = mysql_fetch_array($query);

 if(!$row) 
 {
     print('no rows');// a more useful message
 }
 else
 {
    do {

        $product = $row['product'];

         print("Products they have are: $product");
     }
     while($row = mysql_fetch_array($query));

 }
mysql\u num\u rows
实际上统计返回的所有值,但这并不正确。你几乎可以说,为了同样的结果,它做了两倍的工作


当然,所有这些都假设有一行或多行返回开始。你能确认你应该通过直接在MySQL中运行它来获得一些东西吗?

如果你在刚刚发布的评论之后编辑了你的代码,那不是“缩进”的意思。您可以缩进循环和if中的语句,使其更具可读性

在对$rows和$row执行任何操作之前,请尝试使用print\r。它可以帮助您了解这些变量的情况。

下次您可能希望更正确地缩进代码。阅读时更方便。(也是任何编码的一般提示。)是的,我只是得到产品的一部分,但不是期望的结果$product。让我用你的解决方案来修复它。使用了你的建议,它显示“无行”,但有一些条目应该返回…如果(!$row)出现,是否应该打印“无行”?@Codercake Yep。我的解决方案中的错误。
 $row = mysql_fetch_array($query);

 if(!$row) 
 {
     print('no rows');// a more useful message
 }
 else
 {
    do {

        $product = $row['product'];

         print("Products they have are: $product");
     }
     while($row = mysql_fetch_array($query));

 }