我已經陷入了與報價混亂的混亂。帶有類似查詢的PHP報價
我嘗試這樣做,看起來像這樣
$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%';
一個類似的查詢,但是該查詢顯然會給出一個錯誤。什麼是正確的語法?我試圖用雙引號搞亂,但那也不管用。
我已經陷入了與報價混亂的混亂。帶有類似查詢的PHP報價
我嘗試這樣做,看起來像這樣
$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%';
一個類似的查詢,但是該查詢顯然會給出一個錯誤。什麼是正確的語法?我試圖用雙引號搞亂,但那也不管用。
結合雙引號和單引號。
$myQuery = "SELECT col1 , col2
FROM my_table
WHERE col_value LIKE '%$my_string_variable%'";
雖然我更願意保護我不受SQL注入代碼..
$myQuery = "SELECT col1 , col2
FROM my_table
WHERE col_value LIKE '%" . mysql_real_escape_string($my_string_variable) . "%'";
環繞在雙引號整個事情。
$query = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
將工作,直到該變量包含單引號.. – RichardTheKiwi 2011-03-03 00:55:26
@理查德,沒錯。我會爲此準備好查詢。 – 2011-03-03 00:57:55
您在單引號分隔字符串中使用單引號。嘗試使用雙引號引用您的字符串。
$myQuery = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
應該解決你的問題。
您使用單引號作爲字符串的開頭,並再次使用單引號「inside」。您可以將其更改爲以下內容:
$myQuery = "SELECT col1 , col2 from my_table WHERE col_value LIKE '%$my_string_variable%'";
如果您不想打破您的查詢模式,那麼該如何?
$myQuery = 'SELECT col1 , col2 from my_table WHERE col_value LIKE "%' .$my_string_variable . '%"';
當您應用單引號時,不要在其中包含php變量,因爲此單引號將其中的所有內容視爲值不可變。
您是否嘗試在查詢周圍添加閃爍標記?!?!?!?瘋狂的人 – 2011-03-03 00:42:30
@Byron閃爍的SQL查詢...爲什麼我沒有想到這一點? – alex 2011-03-03 00:44:17
我現在這麼分散,我不知道我做錯了什麼......把一個閃爍的標籤放在一些東西......什麼......我沒有做對嗎? :) – Genadinik 2011-03-03 00:44:28