嗨我得到一些用戶的表單錯誤:'where子句'中的未知列'c63rd321'它適用於一個用戶,但它不適用於所有其他用戶的任何想法?'where子句'中的未知列'c63rd321'
$query = 'SELECT first_name,last_name,is_admin FROM '.$database.'.users WHERE users.id='.$user_id.' LIMIT 1';
做我需要添加到users.id =「」爲什麼它的一個用戶,而不是工作,換了別人
嗨我得到一些用戶的表單錯誤:'where子句'中的未知列'c63rd321'它適用於一個用戶,但它不適用於所有其他用戶的任何想法?'where子句'中的未知列'c63rd321'
$query = 'SELECT first_name,last_name,is_admin FROM '.$database.'.users WHERE users.id='.$user_id.' LIMIT 1';
做我需要添加到users.id =「」爲什麼它的一個用戶,而不是工作,換了別人
請更換此:
$query = 'SELECT first_name,last_name,is_admin FROM '.$database.'.users WHERE users.id='.$user_id.' LIMIT 1';
.. 。with:
$query = 'SELECT first_name,last_name,is_admin FROM '.$database.'.users WHERE users.id=:user_id LIMIT 1';
^^^^^^^^
...並添加user_id
來準備語句參數。如果您的圖書館不支持準備好的陳述,請隨時索取更多詳細信息,但您應該考慮改用更好的圖書館。
User_id來自$ _SESSION ['user'] – Astronaut
@丹 - 我不明白你的問題。 –
您的user_id是否始終爲整數?如果是這樣,你不需要添加引號。但形成你的問題,我可以猜測,它可以是字符串。您可以使用mysql_real_escape_string()
作爲快速測量(http://php.net/manual/en/function.mysql-real-escape-string.php)。
但是,正如你可能從以前的答案中知道的那樣,如果你用mysqli或PDO重寫它會好得多。但它應該是複雜的,也許需要一些時間。
我剛剛去了數據庫,確實問題是其中一個用戶有ID整數,所有其他用戶有一個字符串有ID。 – Astronaut
你已經做過'$ database'或'$ user_id'的任何處理嗎? – Spudley
沒有通過調用$ _SESSION ['']設置變量 – Astronaut