Php 调用未定义的函数fetch_row()
Im正在连接到数据库:Php 调用未定义的函数fetch_row(),php,mysql,Php,Mysql,Im正在连接到数据库: $con=mysql_connect("localhost","root",""); mysql_set_charset('utf8',$con); mysql_select_db("mydb"); 当我尝试在for each中使用以下代码获取行时: $question = fetch_row("SELECT * FROM `mytable` WHERE PyetjaNr = $i ORDER BY RAND() LIMIT 1 "); 我收到这个错误: Fatal
$con=mysql_connect("localhost","root","");
mysql_set_charset('utf8',$con);
mysql_select_db("mydb");
当我尝试在for each中使用以下代码获取行时:
$question = fetch_row("SELECT * FROM `mytable` WHERE PyetjaNr = $i ORDER BY RAND() LIMIT 1 ");
我收到这个错误:
Fatal error: Call to undefined function fetch_row()
同样的代码在我的托管服务器(mysql 5.5)中工作,
但在我的本地主机mysql(5.6)中不工作
mysql版本有问题吗?除了升级到mysqli之外,我还能做什么吗?您可能在PHP手册中遗漏了这一点(在这种情况下,您应该阅读手册了解您使用的函数),但是
mysql\uuu…
函数已被弃用,而且几乎肯定在5.7中都不会出现。它们被mysqli\u…
函数集所取代,因此请改用它们
的PHP手册涵盖了您需要的初始设置,从数据库中获取数据只是一个简单的问题
这通常意味着使用准备好的语句,而不仅仅是将SQL构建为字符串(因为您希望安全,但不希望安全)
擦除您现在拥有的内容,使用
mysqli
函数重做。如果您的问题仍然存在,至少现在您将拥有现代代码,人们可以对您的问题进行评论。fetch\u row()
应该是mysql\u fetch\u row()
@Sean警告:mysql\u fetch\u row()希望参数1是资源,在获取之前,您需要输入的字符串。不再支持mysql.*
函数,它们不再维护,将来也将继续使用。您应该使用或更新代码,以确保将来项目的功能。对于初学者,您必须指定是否使用自定义函数,并确保包含定义该函数的文件。mysqli_*函数从5.5.0版开始就不推荐使用(根据php.net上的手册)