【发布时间】:2014-04-24 03:19:58
【问题描述】:
<?php
function comment($postid,$db_con)
{
$commentdiv='';
$sql="SELECT userid,time,comment FROM comments WHERE postid='$postid' LIMIT 3";
$query = mysqli_query($db_con, $sql);
while($row = mysqli_fetch_array($query,MYSQLI_ASSOC)){
$uid=$row["userid"];
$timecomment=$row["time"];
$comment=$row["comment"];
$sql="SELECT username,photo FROM users WHERE id='$uid'";
$query = mysqli_query($db_conx, $sql);
$row = mysqli_fetch_array($query,MYSQLI_ASSOC);
$username=$row["username"];
$photo=$row["photo"];
$userphoto='<img src="xxx/'.$username.'/'.$photo.'">';
if($photo== NULL){
$userphoto = '<img src="xxx/default.png">';
}
$commentdiv.='<div class="xxxxxxx"><div class="yyyyyy">'.$userphoto.'</div><div class="zzzzz">'.$username.'</div><div class="vvvvv">'.$comment.'</div></div>';
}
return $commentdiv;
}
?>
我是 PHP 新手,我试图从上面的 PHP 代码返回 3 个 cmets,但上面的代码只从数据库返回 1 行,为什么 fetch 数组在超过 1 行时只返回 1 行?
【问题讨论】:
-
mysqli_fetch_array()默认只获取一行。如果您想要所有值,请使用循环.. -
尝试使用while循环,再次只返回1行
标签: php mysql function mysqli phpmyadmin