我的代码中出现mysql_fetch_array警告的错误是什么?

时间:2011-08-15 15:30:36

标签: php mysql

我正在尝试从mySQL显示一些数据,数据库详细信息是正确的,但我得到了这个。

*警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源*

下面我的代码有什么错误?

<?php

$con = mysql_connect("localhost"," "," ");
mysql_select_db(" ", $con);
mysql_query('set names utf8');

$query = "SELECT * FROM products WHERE id = '13' LIMIT 1";
$row = mysql_fetch_array(mysql_query($query));
echo $row['name'];

?>

更新

我发现我的错误是一个错字。如果你仍然使用记事本,这就是你得到的......

6 个答案:

答案 0 :(得分:1)

$query将为FALSE,因为您输入的查询无效;当编译或执行查询时出现错误,mysql_query的返回值为FALSE

LIMT更改为LIMIT,然后重试。

答案 1 :(得分:1)

拼写错误......

$query = "SELECT * FROM products WHERE id = '13' LIMT 1";

应该是

$query = "SELECT * FROM products WHERE id = '13' LIMIT 1";

答案 2 :(得分:1)

你在某个地方遇到了错误。尝试:

$con = mysql_connect(...) or die(mysql_error());

mysql_select_db(...) or die(mysql_error());

$res = mysql_query(...) or die(mysql_error());
$row = mysql_fetch_array($res);

答案 3 :(得分:1)

你有拼写错误,LIMT - &gt; LIMIT

答案 4 :(得分:1)

使用错误处理来获取有关错误的信息。该消息将告诉您语法错误(LIMT而不是LIMIT)。

一个最小的例子:

$query = "SELECT * FROM products WHERE id = '13' LIMT 1";

if (!$query) trigger_error("mySQL Error: ".mysql_error(), E_USER_ERROR);

使用trigger_error()代替die()是因为您可以避免在实际网站上显示该消息。除此之外,die()也没关系。

另见Reference: What is a perfect code sample using the mysql extension?

答案 5 :(得分:0)

简单错字:LIMT应为LIMIT