0

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

    $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 语句,所以我确信我缺少一些东西。

提前感谢您的帮助。

4

2 回答 2

0

扔一个

print_r($array);die;

在foreach之前并查看输出。这应该让您了解问题的确切位置。

于 2013-03-14T17:33:27.430 回答
0

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

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

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

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

于 2013-03-14T17:38:36.737 回答