| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
PDO::quote(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1) PDO::quote — クエリ用の文字列をクオートする 説明
public string PDO::quote
( string
$string
[, int $parameter_type = PDO::PARAM_STR
] )PDO::quote() は入力文字列のまわりに引用符を付け (必要であれば) 、 入力文字列にあるシングルクオートをエスケープします。その場合、 構成しているドライバに適したクオート形式が使用されます。 この関数を SQL の構築に使用する場合、 SQL ステートメントにユーザーの入力値を埋め込むための PDO::quote() を使用する代わりに、 バインドパラメータを用いて SQL を準備するための PDO::prepare() を使用することが強く推奨されます。 バインドパラメータを用いるプリペアドステートメントは、 補間されたクエリした場合に比べ、 移植性や利便性に優れ、SQL インジェクションに対する免疫力を持つだけでなく しばしばより高速で、サーバーやクライアント側でコンパイル済みの形式でクエリを キャッシュする事が可能です。 全ての PDO ドライバがこのメソッドを実装しているわけではありません (たとえば PDO_ODBC などの例があります)。 代わりにプリペアドステートメントを使用することを検討してください。 警告
セキュリティ: デフォルトの文字セットサーバーレベルで設定するなりデータベース接続自身に設定させる (ドライバに依存します) なりして、 文字セットを明示しておく必要があります。この文字セットが PDO::quote() に影響を及ぼします。詳細は 各ドライバのドキュメント を参照ください。 パラメータ
返り値
理論上安全なクオートされた SQL ステートメントの文字列を返します。
ドライバがこの方法での引用符付けをサポートしていない場合は
例
例1 通常の文字列をクオートする
<?php 上の例の出力は以下となります。 Unquoted string: Nice Quoted string: 'Nice' 例2 危険な文字列をクオートする
<?php 上の例の出力は以下となります。 Unquoted string: Naughty ' string Quoted string: 'Naughty '' string' 例3 複雑な文字列をクオートする
<?php 上の例の出力は以下となります。 Unquoted string: Co'mpl''ex "st'"ring Quoted string: 'Co''mpl''''ex "st''"ring' |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「PDO::quote - クエリ用の文字列をクオートする」をGoogle検索
|