我有一个奇怪的问题。
我有一个有标题字段的表。
我正在使用mysql_real_escape_string
. 对于带有单引号的值,插入工作正常。
在其他地方,我正在使用 where 子句中提交的标题进行选择,如下所示
SELECT * FROM table WHERE title=mysql_real_escape_string(Girish's Photo);
即使我插入了 Girish 的照片,此查询也会返回空结果集。
---- 编辑放一些代码
$photo_title=mysql_real_escape_string($_POST[photo_title]);<br/>
$sql = "INSERT INTO photos values($id,'$photo_title');<br/>
从表格中使用它,我将Girish 的照片插入到 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\'s Photo
现在的值,如果我在 phpMyAdmin 上运行查询,用 where photo_title='Girish\''s Photo' 替换 where 子句,我会得到记录。