簡體   English   中英

PHP在帶有magic_quotes的mysql查詢中使用變量

[英]PHP using a variable in a mysql query with magic_quotes

我有一個mysql查詢,該查詢使用數組中的值作為WHERE語句的一部分。 我應該如何包含此變量?

這是sql: "AND gender = '{$user_array[\\"gender\\"]}'"

PHP返回此錯誤: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING

我打開了magic_quotes 我看過一些文章建議將數組的值設置為另一個變量,但是如果我有魔術引號,這似乎是不必要的。 這個對嗎?

只需將整個查詢放在double quotes ,然后執行AND gender = '$user_array['gender']'

"AND gender = '{$user_array['gender']}'"

反斜杠殺死了它。

或者,您甚至可以:

"AND gender = '$user_array[gender]'"

要么:

"AND gender = '" . $user_array['gender'] ."'"

演示: http//codepad.org/lrJllI1K

但是所有這些放在一起,您應該使用准備好的查詢

作為替代方案,您可以在PHP中執行字符串concat並將SQL用雙引號引起來,這可以解決您的問題:

"AND gender = '" . $user_array['gender'] . "'...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM