1

通过使用$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);}
4

1 回答 1

-1

与其使用反斜杠转义撇号,不如尝试使用双撇号,如下所示:

select * from ABC where XYZ like 'Favorite''s TV shows?'

如果数据库中有转义的撇号,您需要这样做:

select * from ABC where XYZ like 'Favorite\\''s TV shows?'
于 2013-08-21T18:18:03.523 回答