php - 使 Pdo 保留反斜杠

标签 php pdo

基本上我想将图像的路径存储到数据库中

示例:我想将'C:\wampp\www\project\images'保存到数据库

相反,Pdo 删除所有反斜杠并将其放入 'C:wamppwwwprojectimages'

有没有办法让 Pdo 保留反斜杠?

使用代码更新:

$sql  = "INSERT INTO meal (pic_path) VALUES('C:\wamp\www\project')";
$db   = new PDO( $dsn, $username, $password );
$stmt = $db->prepare( $sql );
$stmt->execute();

最佳答案

发生这种情况的原因是您在查询周围使用双引号 ("),并且反斜杠 (\) 是转义字符,它被删除了。您可以通过将两个反斜杠放在一起来解决此问题,这样它将产生一个 (C:\\wamp\\www\\project)。

但是,将其作为参数传递给 prepare 会是一个更好的主意,并且您可以保留双引号。

$directory = "C:\wamp\www\project";

$sql  = "INSERT INTO meal (pic_path) VALUES(?)";
$db   = new PDO( $dsn, $username, $password );
$stmt = $db->prepare( $sql );
$stmt->execute(array($directory));

了解更多 about prepared statements .

关于php - 使 Pdo 保留反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279936/

相关文章:

php - 如何从mysql中取出一个变量,然后从前一个变量中取出另一个变量?

javascript - Jquery 表排序不适用于图像

php - 将值从数据库保存并获取到页面上

php - PDO 数组到字符串的转换 - 参数

php - MySQL PHP : PDO connection not working when getting credentials from file()

php - Apache 在运行 Controller 的索引页时崩溃

php - 我可以有一个空的 else php

php - 自动增量主键重复输入错误?

php - 使用 pdo 更新图像时,文件夹名称将成为数据库中的值

php - 如何防止使用 foreach 插入多行的 SQL 注入(inject)?