2013-05-03 302 views
-2

这里是我的代码:为什么MySQL导致语法错误?

$query = "SELECT * directory WHERE id ='$comId'"; 

echo $query; 

$com_result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($com_result)) { // While I am finding agents. 

这里是什么$查询等于:

SELECT * directory WHERE id ='4' 

这里是我得到算账:

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 'directory WHERE id ='4'' at line 1 
+3

**从**目录 – 2013-05-03 15:01:18

+2

请停止在新代码中使用mysql_query,并且不要**在查询字符串中内联SQL值。你必须[正确地逃脱](http://bobby-tables.com/php)你注射的任何值,否则你将会遇到问题。你在哪里学习以这种方式编写应用程序?这是一种鲁莽的做法,最终会烧你。 – tadman 2013-05-03 15:06:34

+0

我总是看到这种类型的问题,你应该阅读[PHP和MySQL的常见数据库调试](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)。 – 2013-05-03 15:21:07

回答

9

你只是缺乏FROM条款。

SELECT * FROM directory WHERE id ='4'