我正在尝试从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'];
?>
更新
我发现我的错误是一个错字。如果你仍然使用记事本,这就是你得到的......
答案 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