带字符串的PHP查询包含引号

时间:2016-07-20 16:12:00

标签: php mysql mysqli

您好我需要向mysql请求获取一些数据,其中提交的名称= $ letter 但变量$ letter可能包含' 我的问题是我试着用这个:

$letter = mysqli_real_escape_string($conn,strtolower($letter));
$us = $conn->query("SELECT id FROM singers where trim(LOWER(name)) = '".$letter."'");

我的问题在于,如果$ letter是我的传奇,在执行此行之后它就变成了我的传奇,因此无法在数据库中找到它,因为在数据库中它是'存储为我的传奇 我如何解决这个问题并获得正确的结果。

 echo $letter;
      $letter = mysqli_real_escape_string($conn,strtolower($letter));
        echo $letter;

RESULT

我'

I \'米

2 个答案:

答案 0 :(得分:1)

你使用

的原因 trim

中的

LOWERcolumn name

"SELECT id FROM singers where trim(LOWER(name)) = '".$letter."'" //why trim and LOWER

使用此

"SELECT id FROM singers where name = '".$letter."'"

也可以尝试这个

$letter = mysqli_real_escape_string($conn,strtolower($letter));
$sql = "SELECT id FROM singers where name = '".$letter."'";
// echo $sql; die; print this and run in  phpmyadmin to check
$us = $conn->query($sql);
if ($us !== false) {
echo 'done';
 }
else{ die('failed!' . mysqli_error($conn));}

答案 1 :(得分:0)

enter image description here

enter image description here

在哪里有字段和值之间的差异 \添加是问题