2016-08-02 10 views
-1

SQLクエリの定数を使用するにはどうすればよいですか? Fatal error: Call to a member function fetch_object() on boolean inSQLクエリの定数

これは動作しません:

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

しかし、このDO:

SOM検索後、私は先端がのような連結を使用することが見つかりました:私はこの種のエラーを取得するため . DB_TABLE .が、これは動作していません
$sql_col_1 = "SELECT * FROM buildings WHERE id BETWEEN 1 AND 11 ORDER BY RAND() ;"; 
+0

'$ DB_TABLE = 'user';'次に '$ sql_col_1 =" SELECT * FROM "です。 $ DB_TABLE。 "RAND();によって1と11の間でどこがidであるか;"; –

答えて

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;を追加すると、実行中の実際のクエリが表示されます。

2

FROM後と

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

あなたのクエリが失敗したWHERE前にスペースを必要としますが、致命的なエラーが発生しました!!