ホームページ > バックエンド開発 > PHPチュートリアル > PHP の PDO::quote の詳細な説明 (コード例付き)

PHP の PDO::quote の詳細な説明 (コード例付き)

autoload
リリース: 2023-04-09 22:12:02
オリジナル
2309 人が閲覧しました

PHP の PDO::quote の詳細な説明 (コード例付き)

PHP がデータベースに接続するとき、SQL ステートメントの文字列に引用符を追加する必要がある場合があります。この問題を解決するには、次のようにします。 PHP の組み込み関数quote() 関数を使用する方法については、この記事を参照してください。

まず、quote() 関数の構文を見てみましょう。

public PDO::quote    ( string $string   , int $parameter_type = PDO::PARAM_STR   ) : string
ログイン後にコピー
  • $string: 引用符が付けられる文字列追加されます。

  • $parameter_type: ドライバーのデータ型に引用符のスタイルを選択するように要求します。

  • 戻り値: 引用符で囲まれた文字列を返します。理論的には、SQL ステートメントで安全に使用できます。ドライバーがこのメソッドをサポートしていない場合は、false が返されます。

#コード例:

#1. 通常の文字列に引用符を追加します

<?php
$servername = "localhost";
$username = "root";
$password = "root123456";
$dbname   = "my_database";
 
try {
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    echo "连接成功"."<br>"; 
    // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);

    $string = &#39;Nice&#39;;
    print "Unquoted string: $string";
    echo "<br>";
    print "Quoted string: " . $pdo->quote($string) . "\n";
}catch(PDOException $e){
    echo $e->getMessage();
}
ログイン後にコピー
输出:连接成功
    Unquoted string: Nice
    Quoted string: &#39;Nice&#39;
ログイン後にコピー

2 引用符で囲まれた危険な文字列

<?php
$servername = "localhost";
$username = "root";
$password = "root123456";
$dbname   = "my_database";
 
try {
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    echo "连接成功"."<br>"; 
    // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
    $string = &#39;Naughty \&#39; string&#39;;
    print "Unquoted string: $string";
    echo "<br>";
    print "Quoted string:" . $pdo->quote($string);
    }
ログイン後にコピー
输出:连接成功
Unquoted string: Naughty &#39; string
Quoted string:&#39;Naughty \&#39; string&#39;
ログイン後にコピー
推奨:

2021 PHP 面接質問まとめ (コレクション) >>《php ビデオ チュートリアル

以上がPHP の PDO::quote の詳細な説明 (コード例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート