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 = 'Nice';
print "Unquoted string: $string";
echo "<br>";
print "Quoted string: " . $pdo->quote($string) . "\n";
}catch(PDOException $e){
echo $e->getMessage();
}
输出:连接成功
Unquoted string: Nice
Quoted string: 'Nice'
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 = 'Naughty \' string';
print "Unquoted string: $string";
echo "<br>";
print "Quoted string:" . $pdo->quote($string);
}
输出:连接成功
Unquoted string: Naughty ' string
Quoted string:'Naughty \' string'
2021 PHP 面接質問まとめ (コレクション) >>《php ビデオ チュートリアル》
以上がPHP の PDO::quote の詳細な説明 (コード例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。