php中mysql_fetch_assoc函数报错

代码:

$link = mysqli_connect('localhost', 'root', 'root', 'productsbd');
$sql="select * from products;";
$result=mysqli_query($link,$sql);

if($result)
{
while($row=mysql_fetch_assoc($result)){
echo $row['product'];
}
}
else
{
echo "无相关信息";
}

报错内容:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in D:\Program Files\xampp\htdocs\dbconnect.php on line 25

求解答,谢谢了

 $result=mysqli_query($link,$sql);
 ä¿®æ”¹æˆï¼š
 $result=mysql_query($link,$sql);

如果解决了您的问题请采纳!
如果未解决请继续追问

追问

不对,mysql_query的用法不是这样的;另外,mysql的安全性有问题,所以才采用了mysqli

追答

不好意思,丢人了,有仔细看了下文档,你的错误应该是混用mysql和mysqli这个两个库造成的。

$result=mysqli_query($link,$sql);

http://www.w3cschool.cc/php/func-mysqli-query.html

这里返回的是一个mysqli对象,如果没有数据就返回false

$row=mysql_fetch_assoc($result))

http://www.w3school.com.cn/php/func_mysql_fetch_assoc.asp

这里的数据从 mysql_query() 返回的结果。


所以你的代码提示了参数不对,你需要统一一下,使用同一个库中的函数。

如果你要使用mysqli这个库,可以使用mysqli_fetch_assoc。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-23
mysql_fetch_assoc($result) 应该是跟二个参数的,可以查下手册。

你这个代码一看就有问题,死循环。追问

不是死循环,$row=mysql_fetch_assoc会逐行扫描,到最后一行之后就没得扫描了,于是返回假,于是循环终止。另外,手册上说mysql_fetch_assoc只有一个参数。
什么都不懂就别来误人子弟了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网