我正在开发一个Android应用程序,它从服务器的mysql数据库中获取数据。我正在托管本地服务器mysql-database,并希望从名为“require
”的表中获取所有数据。
在我的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
失败并显示错误:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近第1行的'require'。
问题出在哪里? require表有两个整数列,没什么特别的。 我有6个其他表,这个脚本工作正常。 希望你能帮忙。
EDIT:
更改了标题,因此使用“require
”作为表名的人们可以更轻松地找到它。
问候 启
答案 0 :(得分:7)
require
是MySQL中的reserved keyword
,您需要将其括在反引号中!
喜欢这个..
$q = mysql_query("SELECT * FROM `require`");
此外,停止使用已弃用的数据库API [mysql_*
函数]。而是切换为 PDO
或 MySQLi
。
答案 1 :(得分:1)
用反引号括起来。查询失败的原因是require是保留字。