PHP+Smarty+mySQL读取数据库出现奇怪的问题. 50

新手,在学PHP+smarty读取数据时出现了灵异事件php5.5+apache2.4.9+smarty3.1.19数据库中只有2条数据,使用$row=mysqli_fe... 新手,在学PHP+smarty读取数据时出现了灵异事件

php5.5+apache2.4.9 +smarty3.1.19
数据库中只有2条数据,使用$row = mysqli_fetch_array($result)只执行了两次,但是使用foreach的时候执行了4次.

说改成mysql_fetch_array的请不要回复了...

求解释啊!!!

数据库:
user_id user_name user_pwd user_nick
1 Ryu 123 可怜世界
2 Hark 123 哈克

php:

$strsql="SELECT * FROM `user`";
// $result=mysql_db_query($mysql_database, $strsql, $conn);
$result=mysqli_query($conn,$strsql);
while($row = mysqli_fetch_array($result))
{
echo "ryu;";
$table[] = $row;
}
$smarty->assign('table',$table);
mysqli_close($conn);
tpl:

{~foreach from=$table name = foo item=i~}
<li>{~$i.user_nick~}({~$smarty.foreach.foo.iteration~})</li>
{~/foreach~}
运行结果是:

在后台php中赋值了两次

然后前台读取了4次??

这是怎么回事

(每次和数据库打交道都有各种奇葩的错误...)
展开
 我来答
百度网友d35514f
2014-07-18 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:112万
展开全部
while($row = mysqli_fetch_array($result))只有1个等号 代表赋值
追问
本来就是进行一次对row的赋值啊,当mysqli_fetch_array
返回0,证明数组到底,while = 0,不执行table[]=$row

不对吗?如果不对代码应该是?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式