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

时间:2013-03-14 17:30:46

标签: php loops mysqli

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

    $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;

我从这个循环得到的结果如下。

       edit | delete
       14220 Parrott Ext. TestCity AL 84106 edit | delete

我正在尝试学习mysqli语句,所以我确信有些东西我不知道。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

扔一个

print_r($array);die;

在foreach之前看一下输出。这应该可以让您了解问题的确切位置。

答案 1 :(得分:0)

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

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

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

就个人而言,我先找到原因。 print_r将帮助