调用未定义的函数fetch_row()

时间:2015-04-12 15:54:06

标签: php mysql

我正在连接数据库:

$con=mysql_connect("localhost","root","");
mysql_set_charset('utf8',$con);
mysql_select_db("mydb");

当我尝试使用此代码在每个内部使用一行时使用

$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)中工作, 但不能在我的localhost mysql(5.6),

中工作

mysql版本有问题吗?除了升级到mysqli,我能做什么吗?

1 个答案:

答案 0 :(得分:1)

您可能在PHP手册中错过了这一点(在这种情况下,您应该阅读您使用的函数的手册),但mysql_...函数已被弃用,并且几乎肯定不会在5.7中出来。它们被mysqli_...函数集替换,所以请改用它们。

mysqli::set_charset的PHP手册涵盖了您需要的初始设置,然后从数据库中获取数据只需querying it the normal way

这通常意味着使用预准备语句而不是仅仅将SQL构建为字符串(因为您希望是安全的,您不希望成为Bobby Tables

擦除您现有的内容,使用mysqli功能重做它。如果您的问题仍然存在,至少现在您将拥有人们可以评论的现代代码,以便提出您的问题。