SQL查询中的常量

时间:2016-08-02 07:54:57

标签: php

如何在SQL查询中使用常量?在som搜索之后,我发现了一个使用串联的提示,例如:. DB_TABLE .但这不起作用,因为我收到了这样的错误:Fatal error: Call to a member function fetch_object() on boolean in

这不起作用:

$sql_col_1 = "SELECT * FROM" . DB_TABLE .  "WHERE id BETWEEN 1 AND 11 ORDER BY RAND() ;";

但这样做:

$sql_col_1 = "SELECT * FROM buildings WHERE id BETWEEN 1 AND 11 ORDER BY RAND() ;";

2 个答案:

答案 0 :(得分:2)

FROM之后和WHERE

之前需要空格
echo $sql_col_1 = "SELECT * FROM " . DB_TABLE .  " WHERE id BETWEEN 1 AND 11 ORDER BY RAND()";
                                ^^               ^^

你的查询失败,你得到致命的错误!!

答案 1 :(得分:1)

你错过了DB_TABLE之前和之后的空格:

$sql_col_1 = "SELECT * FROM " . DB_TABLE . " WHERE id BETWEEN 1 AND 11 ORDER BY RAND() ;";
                           ^                ^

使用您的原始代码,如果DB_TABLE被称为建筑物,您的代码将被重写为(连接后):

$sql_col_1 = "SELECT * FROMbuildingsWHERE id BETWEEN 1 AND 11 ORDER BY RAND() ;";

^这就是您的SQL导致错误的原因。

将来调试此问题的最简单方法是echo $sql_col_1。紧接着添加echo $sql_col_1; exit;,将显示正在运行的实际查询。