0

重複の可能性:
Php PDO :: bindParamデータ型..どのように機能しますか?

誰かが説明できますか-プリペアドステートメントがより安全である理由:

$stmt = $conn->prepare("INSERT INTO users (user, pass, salt) 
VALUES (:user, :pass, :salt");
    $stmt->bindParam(":user", $user);
    $stmt->bindParam(":pass", $pass);
    $stmt->bindParam(":salt", $salt);
    $stmt->execute();

挿入クエリは最初にプレースホルダーを使用して準備され、次にプレースホルダーの代わりに値が配置されますが、-それはどこで有名secure pointですか?

4

1 に答える 1

1

値はプレースホルダーに配置されません(バックエンドによっては、エミュレーションを実行するものもありますが、プリペアドステートメントではないためそれらについては説明できません)。従来のSQLの問題は、コマンドとデータが混在していることです。プリペアドステートメントは、意図的に常に分離しておくことで、この問題を回避します。プリペアドステートメントは、自動的に実行するための単なる凝った方法ではありませんmysqli_real_escape_string

于 2013-01-15T17:46:30.530 に答える