mysql_fetch_assoc()需要参数1

时间:2013-07-20 18:48:16

标签: php mysql

我编写了一个php脚本,用于以json格式返回数据库中的所有内容。以下代码给出了这个错误。

You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near ''userCredentials'' at line 1

mysql_fetch_assoc() expects parameter 1 to be resource, boolean given

这是代码:

<?php

require 'testconnect.php';

$sql = "SELECT * FROM 'userCredentials'";

 $query = mysql_query($sql);

 if($query == false){
  echo mysql_error();
echo 'failed query connect';

}
echo 'new success';

while($row = mysql_fetch_assoc($query)) {

  echo json_encode($row);

}

?>

这段代码有什么问题?我错过了什么吗?

PS:我不是PHP程序员。我写了这个脚本,在我的java代码中使用它。

此致

3 个答案:

答案 0 :(得分:2)

这可能是因为您使用引号来表示字符串,您应该使用后退标记来标识列名,表名

$sql = "SELECT * FROM 'userCredentials'";

应该是;

$sql = "SELECT * FROM `userCredentials`";

答案 1 :(得分:2)

您的真实错误讯息是You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''userCredentials'' at line 1

您需要修复SQL查询以阅读SELECT * FROM userCredentials所需表格周围没有单引号。

正如其他人所说,反引号是封装表名的正确方法,或者是mySQL可能错误解释的任何字符串。

答案 2 :(得分:0)

删除表名周围的单引号,而不是使用反引号

$sql = "SELECT * FROM `userCredentials`";