mysql_fetch_array()总是返回null

问题描述:

我尝试从数据库mysql_fetch_array()总是返回null

$check_sql = 'SELECT * FROM table; 
$check_result = mysql_query($check_sql); 
echo $check_result; 
$result = mysql_fetch_array($check_result); 

获取数据时,我echo $check_result,它表明“资源ID 2”,我认为这意味着存在一个返回数组,但是当我用mysql_fetch_array,它会返回一个空值,我不知道为什么...
而且我发现,不管是否存在的resules与否,echo $check_result会始终显示“资源ID#2”,请问这句话在MySQL意味着'没有结果'?有人可以帮助吗?

+0

你尝试使用'mysql_error()'? http://php.net/manual/en/function.mysql-error.php可能有输出。 –

+2

的'mysql_'功能[已被弃用(http://www.php.net/manual/en/function.mysql-query.php);请不要在新代码中使用它们。使用[PDO](http://www.php.net/manual/en/class.pdo.php)或[MySQLi](http://www.php.net/manual/en/class.mysqli.php)代替。 –

+0

@JonasSchwabe当我试图 '的mysql_query( “SELECT * FROM nonexistenttable”,$链接);',它说 '的mysql_query():提供的参数不是一个有效的MySQL-Link的资源' – Amy

mysql_fetch_array()返回一个数组。 你一定要看看文件http://php.net/mysql_fetch_array

尝试print_r($result);

在情况下,如果你在你的MySQL查询处理多行,你需要使用这样的代码:

​​

我猜这就是为什么你提到了mysql_fetch_array函数。

+0

我在我的查询中使用'LIMIT 1',所以应该只有一行结果 – Amy

+0

然后尝试'print_r($ check_result);' – jan267

+0

@ jan267它仍然只打印'资源ID#2' – Amy