真正的转义字符串和 PDO
我从库中迁移出去后使用PDO。我应该用什么来代替旧函数?mysql
real_escape_string
我需要转义单引号,以便它们进入我的数据库,我认为可能有更好的方法来处理这个问题,而无需在我的所有字符串中添加斜杠。我应该使用什么?
我从库中迁移出去后使用PDO。我应该用什么来代替旧函数?mysql
real_escape_string
我需要转义单引号,以便它们进入我的数据库,我认为可能有更好的方法来处理这个问题,而无需在我的所有字符串中添加斜杠。我应该使用什么?
您应该使用 PDO 准备
从链接:
调用 PDO::p repare() 和 PDOStatement::execute() 以获取将使用不同参数值多次发出的语句,通过允许驱动程序协商查询计划和元信息的客户端和/或服务器端缓存来优化应用程序的性能,并通过消除手动引用参数的需要来帮助防止 SQL 注入攻击。
PDO 提供了一种替代方案,旨在用 PDO::quote() 方法替换 mysql_escape_string()。
以下是PHP网站的摘录:
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>
上面的代码将输出:
Unquoted string: Nice
Quoted string: 'Nice'