2013-07-20 25 views
-1

我已经编写了一个PHP脚本,用于以json格式返回数据库中的所有内容。以下代码给了我这个错误。mysql_fetch_assoc()期望参数1

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代码中使用它。

问候

+1

只需要连在一起,表名/行反引号(') – samayo

回答

2

这可能是从您使用引号来象征一个字符串造成的事实,你应该使用反勾识别列名,表名

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

应该的;

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

我怎么能附上返回的JSON字符串主json对象中的对象? –

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错误解释的字符串。

+0

+1最后一段。它可以在没有反蜱的情况下完成,但如果用户不小心命名,则可能会导致另一个问题:) – Fallen

0

取下单引号约于表名称,而不是您可以使用回蜱

$sql = "SELECT * FROM `userCredentials`"; 
相关问题