我有一個奇怪的問題。PHP mysql_real_escape_string沒有按預期工作
我有一個表有一個標題字段。
我使用mysql_real_escape_string
將值插入此標題字段。使用單引號插入工作正常。
我做一個選擇使用標題where子句中提交如下
SELECT * FROM table WHERE title=mysql_real_escape_string(Girish's Photo);
該查詢返回空結果,甚至當我吉里什插入的圖片設置其他一些地方。
----編輯把這個使用一些代碼
$photo_title=mysql_real_escape_string($_POST[photo_title]);<br/>
$sql = "INSERT INTO photos values($id,'$photo_title');<br/>
從我已插入吉里什的照片到PHOTO_TITLE的形式。它運行良好。
... .. ..
然後在PHP
$title="Girish's Photo";
$sql = "SELECT photo_id,photo_title FROM photos WHERE photo_title ='" . mysql_real_escape_string($title)."'" ;
但這查詢返回結果爲空其他一些地方。
使用phpMyAdmin,如果我嘗試運行上述查詢..結果爲空。如果我瀏覽表格,我會看到值Girish的照片
現在,如果我在phpMyAdmin上運行查詢,將where子句替換爲where photo_title ='Girish \''Photo'我正在獲取該記錄。
mysql_real_escape_string是一個PHP函數 –
你的問題是有線的?這真的很奇怪。 –
如上所述。要在php腳本中使用它,你可以使用$ query =「select * from table where title ='」。mysql_real_escape_string(「Girish's Photo」)。「'」; – Kickstart