2014-01-12 119 views
-4

我正在開發一個android應用程序,它從服務器從mysql-database獲取數據我託管本地服務器mysql數據庫,並希望從一個本地服務器獲取數據名爲 「require」 表PHP的mysql_query(「選擇*從要求)失敗

在我的PHP腳本我做了以下內容:

<?php 
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("meinstudiumosdatabase"); 
    $q = mysql_query("SELECT * FROM require"); 
    echo mysql_error(); 


    while($row = mysql_fetch_assoc($q)){ 
     $output[] = $row; 
    } 

    print(json_encode($output)); 
    mysql_close(); 
?> 

mysql_query失敗,出現錯誤:

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 'require' at line 1.

在哪裏問題是什麼? require表有兩個整數列,沒什麼特別的。 我有6個其他表,這個腳本工作正常。 希望你能幫上忙。


EDIT: 更改標題,所以誰使用 「require」 作爲表名找到這個人更容易。

問候 凱

回答

7

require是MySQL中的reserved keyword,你需要把它們放在反引號!

這樣的..

$q = mysql_query("SELECT * FROM `require`"); 

此外,停止使用過時的數據庫API [mysql_*函數]。請改爲PDOMySQLi

+1

+1最快回答:) – anubhava

+1

謝謝,不知道! –

+1

更好的主意是完全避免保留字! – Strawberry

1

用反引號括起require。您的查詢失敗的原因是需要是保留字。

+0

感謝您的回答;) –