-1

我编写了一个 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 代码中使用它。

问候

4

3 回答 3

2

这可能是由于您使用引号来符号化字符串,您应该使用反引号来识别列名、表名

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

应该;

$sql = "SELECT * FROM `userCredentials`";
于 2013-07-20T18:50:32.960 回答
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 错误解释的字符串的正确方法。

于 2013-07-20T18:50:49.557 回答
0

删除表名周围的单引号,您可以使用反引号

$sql = "SELECT * FROM `userCredentials`";
于 2013-07-20T18:51:32.290 回答