ホームページ >バックエンド開発 >PHPチュートリアル >SQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプション

SQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプション

angryTom
angryTom転載
2019-10-16 10:23:392769ブラウズ

SQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプション

3 つの関数:

1.addslashes($string): バックスラッシュを使用して文字列 ' " \ 内の特殊文字を引用します。

$username=addslashes($username);

2. mysql_escape_string($string): mysql_query() クエリの文字列内の特殊文字をエスケープするには、バックスラッシュを使用します。

$username=mysql_escape_string($username);

3. mysql_real_escape_string( $string): SQL ステートメントで使用される文字列内の特殊文字をエスケープします。接続の現在の文字セットを考慮して、この関数を使用する前に現在の接続状態を使用できることを確認する必要があります。そうでない場合は、警告が表示されます。 % と __

$username=mysql_real_escape_string($username);

をエスケープしないオプションは 2 つあります:

1。PDO

$stmt = $pdo->prepare('SELECT * FROM user WHERE name = :name');
$stmt->execute(array(':name' => $name));
foreach ($stmt as $row) {
// do something with $row
}

2 を使用します。 mysqli を使用します

$stmt = $dbConnection->prepare('SELECT * FROM user WHERE name = ?');
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}

PHP 関連の詳細については、PHP 中国語 Web サイト!

を参照してください。

以上がSQL インジェクションを防ぐための 3 つの PHP 関数と 2 つのオプションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwww.phplaozhang.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る