我知道如何使用PHP中的prepare
语句使用PDO进行转义。
但是,我想转义单独的变量,然后其他框架(wordpress)将使用>>而不是转义<<。
$my_var = "something";
$my_var = PSEUDO_SINGLE_PDO_ESCAPE( $my_var );
use_elswhere('do_something', $my_var);
有没有办法使用 PDO 实现这一目标?
或者我应该如何消毒这个变量?
编辑:我刚刚发现wordpress有自己的sql转义函数esc_sql()
它返回"适合在SQL查询中使用的转义值"。 像$var = esc_sql( $var );
一样使用
要像PDO一样逃逸,您可以使用:
$conn = new PDO('sqlite:/home/lynn/music.sql3');
$string = 'Nice';
echo "Unquoted string: $stringn";
echo "Quoted string: " . $conn->quote($string) . "n";
看:
http://php.net/manual/en/pdo.quote.php
所以你不必考虑要逃脱哪些角色以及如何逃脱。
请注意,您连接到的数据库类型会影响转义。