mysql和php语法错误

mysql和php语法错误,php,mysql,Php,Mysql,我收到MYSQL错误,我的答案是: $SQL = "SELECT * FROM `".TBL_DEVICE."` WHERE DEV_STATUS='1' $where ORDER BY DEV_TYPE ASC"; 错误如下 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第1行“按开发人员类型ASC订购”附近 SELECT * FROM `device` WHERE DEV_STATUS='1' AND DEV_ID = ORDER BY DEV_TYP

我收到MYSQL错误,我的答案是:

$SQL = "SELECT * FROM `".TBL_DEVICE."` WHERE DEV_STATUS='1' $where ORDER BY DEV_TYPE ASC";
错误如下

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第1行“按开发人员类型ASC订购”附近

SELECT * FROM `device` WHERE DEV_STATUS='1' AND DEV_ID = ORDER BY DEV_TYPE ASC

您尚未为-DEV_ID指定值

SELECT * FROM `device` WHERE DEV_STATUS='1' AND DEV_ID = '*add here*' ORDER BY DEV_TYPE ASC

好吧,至少你把它打印出来了,这是大多数人都不会做的事情,这让97%的问题变得显而易见:——)

您的
$where
变量似乎不完整,因为它包含
和DEV_ID=
,但没有要与之比较的内容


您需要修复生成该
where
子子句的代码,以便生成的查询有效。

您的问题对我来说不够清楚,但在您的sql代码中

$SQL = "SELECT * FROM ".TBL_DEVICE." WHERE DEV_STATUS='1' $where ORDER BY DEV_TYPE ASC";
为什么要使用
$where
变量??它的期望值是多少

从表中选择所有数据的基本结构为:

$SQL = "SELECT * FROM table_name WHERE id = desire_id";

希望这有帮助

我假设您的变量“$where”有这个值=>”和DEV_ID=“

$where=“和DEV_ID=”

首先:完成变量“$where”

$where=“AND DEV_ID=”。您在这里应该是一个值。”

第二:如果你不介意的话,把变量名改成相对的

第三:假设查询

$where = "AND DEV_ID = ".your_supposed_to_be_a_value_here.";
$SQL = "SELECT * FROM `".TBL_DEVICE."` WHERE DEV_STATUS='1' $where ORDER BY DEV_TYPE ASC";

“和DEV_ID=订单“-您缺少一个值..
其中DEV_STATUS='1'和DEV_ID=ORDER BY
显然是错误的。问题是无论您在哪里设置
$where
。它得到的是
值和DEV_ID=
,但这显然不是应该有的全部。实际上,您没有发布足够的代码。请参阅如何创建一个。检查$,如果它没有打印正确的值。@AdrianM。不,他应该修复设置
$where
的代码。此外,此代码可能是SQL注入的主题。请不要在SQL查询中使用字符串连接,而要使用准备好的语句。
$where = "AND DEV_ID = ".your_supposed_to_be_a_value_here.";
$SQL = "SELECT * FROM `".TBL_DEVICE."` WHERE DEV_STATUS='1' $where ORDER BY DEV_TYPE ASC";