如何在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() ;";
答案 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;
,将显示正在运行的实际查询。