溫馨提示×

php fetch_array如何避免SQL注入

PHP
小樊
89
2024-09-07 17:14:45
欄目: 云計算

為了避免 SQL 注入,您應該使用預處理語句(prepared statements)和參數化查詢。在 PHP 中,可以使用 PDO (PHP Data Objects) 或 MySQLi 擴展來實現這一目標。

以下是使用 PDO 和預處理語句的示例:

<?php
// 連接數據庫
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myuser';
$password = 'mypassword';
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_EMULATE_PREPARES => false
);
$pdo = new PDO($dsn, $username, $password, $options);

// 使用預處理語句和參數化查詢來避免 SQL 注入
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->execute(['email' => $email]);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($result as $row) {
    // 處理結果集
}
?>

在上面的示例中,我們使用了預處理語句和參數化查詢來綁定 email 參數。這樣可以確保用戶提供的數據不會被解釋為 SQL 代碼,從而避免了 SQL 注入攻擊。

請注意,您需要根據自己的數據庫配置修改 $dsn、$username$password 變量。同時,確保已安裝并啟用 PDO 擴展。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女