通过使用$ 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/

10-11 23:26