我正试着一排一排地排成这样:
while($getRowCount = $query->fetch_assoc()){
$uid = $getRowCount['ID'];
接下来,我选择第二个表中相应匹配的行,如下所示:
$getFullName = $db->prepare("SELECT * from registered_users where id = ?");
$getFullName->bind_param("i",$uid);
$getFullName->execute();
if(($getFullName = $getFullName->num_rows) == 1){
echo 'code reach';
$getname = $getFullName->fetch_assoc();
$FirstName = $getname['first_name'];
$LastName = $getname['last_name'];
echo '
<br/>
<div id ="connect" style="font-weight:bold; font-size: 15px; color: #CF0B05;">
<strong>'.$FirstName.' '.$LastName.'</strong>
</div><hr/>';
}
}
问题是num_rows==1不返回true,尽管该行的表中存在匹配项。
另外,如果我强制计算到num_rows==0,它会回显'code reach',但本身会附加一些错误。我不明白为什么num_rows==1不返回true,尽管有一行。
Notice: Trying to get property of non-object in /var/www/html/pages.php on line 634
Fatal error: Call to a member function fetch_assoc() on integer in /var/www/html/pages.php on line 635
任何关于如何解决这个问题的建议都会有很大帮助。
最佳答案
看看你的表情:($getFullName = $getFullName->num_rows) == 1
首先将$getFullName
设置为等于行数(整数),然后查看它是否等于1
。然后,您稍后尝试作为对象访问$getFullName
:
$getname = $getFullName->fetch_assoc();
所以你当然会犯错误:
Fatal error: Call to a member function fetch_assoc() on integer in /var/www/html/pages.php on line 635
为什么要将
$getFullName
设置为等于行数?这是一个简单的例子,可以理解每一行代码的实际功能。