2012-09-01 15 views
0

我有一個名爲title的列是一個字符串的MySQL表。如何在php中使用mysql中的單引號進行匹配

但是,如果字符串具有單引號(例如「John's group」),那麼sql將失敗。

我用下面的PHP代碼來查找表:

$pageID = mysql_fetch_array(mysql_query("SELECT pageID FROM `mytable` WHERE title='" . $title . "'")); 

其中$標題包含我的查詢字符串。

有人能告訴我該怎麼做嗎?

編輯:我發現兩個單引號將在SQL中工作 - 但是 - 有沒有辦法在PHP中做到這一點?

回答

3

你應該逃脫你在使用查詢之前title

$title = mysql_real_escape_string($title) 
1

嘗試串置換'字符'逃避它在你的整個查詢:

$pageID = mysql_fetch_array(mysql_query("SELECT pageID FROM `mytable` WHERE title='" . str_replace($title, "'", "''") . "'")); 
0

嘗試......

$pageID = mysql_fetch_array(mysql_query('SELECT pageID FROM `mytable` WHERE title="' . $title . '"')); 
相關問題