查看数据库mysql中的转义字符?

时间:2015-07-07 23:21:15

标签: php mysql mysqli prepared-statement

我正在使用mysqli prepared语句将值插入数据库。我知道这个扩展可以正确处理转义的字符。

我有一个文件路径:images/serveover/Bellini 83.png,我希望在插入后看到的是数据库中包含转义字符的文件路径,类似images\/serveover\/Bellini 83.png,但我只看到图像路径

如何确保我的字符串已正确转义?这个视图在phpMyAdmin中是标准的,它不显示转义字符,还是只是将它们隐藏在视图中?

下面是我的插入准备语句,其中包含params,其中所有值都正确填充:

 $insertQuery  = $conn -> prepare("INSERT INTO images (image_id, image_date_created, image_date_modified, image_title, image_src, category_id, image_status, image_external_file, another_id) VALUES (null, NOW(), CURRENT_TIMESTAMP, ?, ?, ?,'A', ?, ?)");

 if($insertQuery ) 
 {              
    $insertQuery -> bind_param("ssisi", $title, $image, $row["category_id"], $file, $row["id"]);            
    $insertQuery -> execute();              
    $insertQuery -> close();
  } 

1 个答案:

答案 0 :(得分:0)

只要您处理字符串,转义过程只是指示MySQL忽略字符的特殊属性并将其视为普通字符。

  

Bob的特殊字符串

的形式输入数据库
  

Bob的特殊字符串

重要的是要注意准备好的声明根本不使用转义。准备好的语句在一组中发送查询而在另一组中发送数据,因此MySQL不需要逃避它,因为它知道要存储的实际值。

您可以在MySQL手册中阅读有关该过程的更多信息 https://dev.mysql.com/doc/refman/5.0/en/string-literals.html