gpt4 book ai didi

php - 究竟是什么让 PDO 安全?

转载 作者:可可西里 更新时间:2023-11-01 12:38:16 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How prepared statements can protect from SQL injection attacks?

对于我们这些刚接触 PDO 的人来说,我们知道它更安全并且更好用,但我无法理解的是,它是如何安全的?

<?php
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
try {
//connect as appropriate as above
$db->query('hi'); //invalid query!
} catch(PDOException $ex) {
echo "An Error occured!"; //user friendly message
some_logging_function($ex->getMessage());
}
foreach($db->query('SELECT * FROM table') as $row) {
echo $row['field1'].' '.$row['field2']; //etc...
}
?>

请注意,我确实理解它的作用,但它究竟做了什么来净化输入?我知道 mysql_* 使用 mysql_real_escape_string 只是把文字 \。 PDO 是否使用相同的系统?如果没有,我们的卫生靠什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com