PHP mysql_query(“SELECT * FROM require”)失败

时间:2014-01-12 13:36:32

标签: php mysql sql arrays function

我正在开发一个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”作为表名的人们可以更轻松地找到它。

问候 启

2 个答案:

答案 0 :(得分:7)

require是MySQL中的reserved keyword,您需要将其括在反引号中!

喜欢这个..

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

此外,停止使用已弃用的数据库API [mysql_*函数]。而是切换为 PDO MySQLi

答案 1 :(得分:1)

用反引号括起来。查询失败的原因是require是保留字。