gpt4 book ai didi

php - 我的 PDO 查询是否安全,不会受到 SQL 注入(inject)的影响

转载 作者:行者123 更新时间:2023-12-03 01:02:19 25 4
gpt4 key购买 nike

我对 PDO 相当陌生,想知道下面的查询是否可以安全地避免 SQL 注入(inject)。如果是这样,我将在整个网站中使用此方法。

    // make connection to DB
$db = new PDO('mysql:host='.$dateBaseHost.';dbname='.$dateBaseName, $dateBaseUsername, $dateBasePassword);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


//simple query and binding with results
$query = $db->prepare(" SELECT * FROM `profile` WHERE `fullname` = :fullname ");

$search = (isset($_GET['search']) === true) ? $_GET['search'] : '' ; // ? : shorthand for if else

// bind parameters - avoids SQL injection
$query->bindValue(':fullname', $search);

//try... if not catch exception
try {
// run the query
$query->execute();

$rows = $query->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>', print_r($rows, true),'</pre>';
}
catch (PDOException $e){
sendErrorMail($e->getMessage(), $e->getFile(), $e->getLine());
}

最佳答案

是的 - 当以这种方式使用时,参数化查询可以安全地避免注入(inject)。

关于php - 我的 PDO 查询是否安全,不会受到 SQL 注入(inject)的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482049/

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