通过使用$ quer1,可以保存“收藏的电视节目?”值。如“收藏的电视节目?”
当我进入主机的PHPMYADMIN并编写一个SQL
查询-
SELECT ques_id FROM questions WHERE ques like 'Favorite\'s TV shows?'
它返回0行,但“收藏的电视节目?”在数据库中
$ query2返回错误,因为它无法获取任何行,但数据库中仍然存在值!
$qques="q".$ques;
$query1 =sprintf("insert into questions(ques) values ('%s')",
mysql_real_escape_string($val));
$result = mysql_query($query1);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query1;
die($message);
}
$query2 =sprintf("SELECT ques_id FROM questions WHERE ques like '%s'",
mysql_real_escape_string($val));
$result2 = mysql_query($query2);
if (!$result2) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query2;
die($message);
}else
{ $valueSecond= mysql_result($result2, 0);}
最佳答案
不要用反斜杠转义撇号,而是尝试使用双撇号,如下所示:
select * from ABC where XYZ like 'Favorite''s TV shows?'
如果数据库中包含转义的撇号,则需要执行以下操作:
select * from ABC where XYZ like 'Favorite\\''s TV shows?'
关于php - 无法在MySQL数据库中使用类似的值与撇号比较?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18364738/