我已经删除了表并重复了一遍又一遍的新数据,并试图找出为什么我的循环在开头添加一个额外的空结果。我用于循环的代码如下。
$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语句,所以我确信有些东西我不知道。
提前感谢您的帮助。
答案 0 :(得分:0)
扔一个
print_r($array);die;
在foreach之前看一下输出。这应该可以让您了解问题的确切位置。
答案 1 :(得分:0)
您的数据库很可能有一行没有值。先检查一下。发生的次数比你意识到的要多(对我而言)
作为一种可能的解决方案,您可以在回声之前添加额外条件以确保存在值
foreach($array as $listing) :
if($listing->Taddress){
echo $listing->Taddress . " ";
就个人而言,我先找到原因。 print_r将帮助