Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL循环显示额外的“;“空的”;结果_Php_Loops_Mysqli - Fatal编程技术网

Php MYSQL循环显示额外的“;“空的”;结果

Php MYSQL循环显示额外的“;“空的”;结果,php,loops,mysqli,Php,Loops,Mysqli,我已经删除了该表,并一遍又一遍地使用新数据重新开始,并试图找出为什么我的循环在开始时添加了一个额外的空结果。下面是我用于循环的代码 $sql = "SELECT * FROM `addresses` WHERE `company_name` = '$pro_company'"; $query = $mysqli->query("$sql"); while($array[] = $query->fetch_object());

我已经删除了该表,并一遍又一遍地使用新数据重新开始,并试图找出为什么我的循环在开始时添加了一个额外的空结果。下面是我用于循环的代码

    $sql = "SELECT * FROM `addresses` WHERE `company_name` = '$pro_company'";
    $query = $mysqli->query("$sql");    
        while($array[] = $query->fetch_object());
            array_pop($array);
            foreach($array as $listing) :
                echo $listing->Taddress . " ";
                echo $listing->Tcity. " ";
                echo $listing->Tstate . " ";
                echo $listing->Tzip . " ";
                echo " <a href='edit.php?pid=". $listing->PID . "'>edit</a> |";
                echo " <a href='delete.php?pid=". $listing->PID . "'>delete</a>";
                echo "</a><br />";
        endforeach;
我正在努力学习mysqli语句,所以我确信我遗漏了一些东西

提前感谢您的帮助。

扔一个

print_r($array);die;

在foreach之前,查看输出。这会让您知道问题的确切位置。

您的数据库很可能有一行没有值。先检查一下。发生的次数比你意识到的要多(无论如何对我来说)

作为一种可能的解决方案,您可以在回显之前添加一个额外的条件,以确保值存在

foreach($array as $listing) :
   if($listing->Taddress){
     echo $listing->Taddress . " ";

就我个人而言,我会先找到原因。打印将有助于

查询返回的第一行必须有空列。我打印了数组并发现了问题。我包含了另一页的另一个查询。非常感谢你的帮助!我改变了我的编码,现在工作得很好。没问题!学会热爱印刷术(!:)我在我的循环中使用了你的if语句,这似乎使它起作用,并删除了额外的条目。谢谢你的帮助!
foreach($array as $listing) :
   if($listing->Taddress){
     echo $listing->Taddress . " ";