2013-07-20 67 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`"; 
相關問題