Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用未定义的函数fetch_row()_Php_Mysql - Fatal编程技术网

Php 调用未定义的函数fetch_row()

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

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 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上的手册)