SQL インジェクションからコードを保護するために、PHP および MySql 駆動の Web ベース アプリケーションで SQL を処理するこの新しい安全な方法の新機能です。PDO で mysqli の使用を開始する予定です。誰でも、どのように開始して続行する必要があるかを概説できますか.
任意の記事への参照も役立ちます。
前もって感謝します。
接続を作成するには
try {
$db = new PDO("mysql:dbname=".DB_NAME.";host=".DB_HOST,DB_USER,DB_PWD);
} catch (PDOException $e) {
die("Database Connection Failed: " . $e->getMessage());
}
次に、声明を準備します
$prep = $db->prepare("SELECT * FROM `users` WHERE userid = ':id'");
ご覧のとおり、任意の文字列の前に「:」を付けて、必要な各パラメーターにラベルを付けます。あとは、実行時にパラメーター (:id) を値にマッピングする配列を渡すだけです。
if (!$prep->execute(array(":id" => $userinput))) {
$error = $prep->errorInfo();
echo "Error: {$error[2]}"; // element 2 has the string text of the error
} else {
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { // check the documentation for the other options here
// do stuff, $row is an associative array, the keys are the field names
}
}
PDO::FETCH_ASSOC と "fetch" 関数を使用する代わりに、データを取得するさまざまな方法があります。fetchAll を使用すると、行ごとに処理するのではなく、一度にすべての結果の配列を取得できます。または、情報の配列を 0 から始まる配列として取得するか、結果を直接クラス インスタンスにフェッチすることもできます (フィールド名がクラスのプロパティと一致している場合)。
PDO のすべてのドキュメントは、ここにあります: PHP.net PDO マニュアル