查看数据库 mysql 中的转义字符?
Viewing escaped characters in database mysql?
我正在使用 mysqli 准备语句将值插入数据库。我知道这个扩展可以正确处理字符转义。
我有一个文件路径:images/serveover/Bellini 83.png
,我希望在插入后看到的是数据库中带有转义字符的文件路径,类似于 images\/serveover\/Bellini 83.png
但我只看到图像路径原样。
如何确保我的字符串已正确转义?这个视图是 phpMyAdmin 中的标准视图,它不显示转义字符,还是只是将它们隐藏在视图中?
下面是我的带有参数的插入准备语句,其中所有值都被正确填充:
$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();
}
只要您处理的是字符串,转义过程只是指示 MySQL 忽略字符的特殊属性并将其视为普通字符。
Bob\'s special string
输入数据库为
Bob's special string
重要的是要注意准备好的语句根本不使用转义。准备好的语句在一组中发送查询,在另一组中发送数据,因此 MySQL 不需要转义它,因为它知道这是要存储的实际值。
您可以在 MySQL 手册中阅读有关该过程的更多信息
https://dev.mysql.com/doc/refman/5.0/en/string-literals.html
我正在使用 mysqli 准备语句将值插入数据库。我知道这个扩展可以正确处理字符转义。
我有一个文件路径:images/serveover/Bellini 83.png
,我希望在插入后看到的是数据库中带有转义字符的文件路径,类似于 images\/serveover\/Bellini 83.png
但我只看到图像路径原样。
如何确保我的字符串已正确转义?这个视图是 phpMyAdmin 中的标准视图,它不显示转义字符,还是只是将它们隐藏在视图中?
下面是我的带有参数的插入准备语句,其中所有值都被正确填充:
$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();
}
只要您处理的是字符串,转义过程只是指示 MySQL 忽略字符的特殊属性并将其视为普通字符。
Bob\'s special string
输入数据库为
Bob's special string
重要的是要注意准备好的语句根本不使用转义。准备好的语句在一组中发送查询,在另一组中发送数据,因此 MySQL 不需要转义它,因为它知道这是要存储的实际值。
您可以在 MySQL 手册中阅读有关该过程的更多信息 https://dev.mysql.com/doc/refman/5.0/en/string-literals.html