ホームページ > バックエンド開発 > PHPチュートリアル > PDO参照によるパラメータの受け渡しについて、フィールドをパラメータとして渡すことはできないのでしょうか?

PDO参照によるパラメータの受け渡しについて、フィールドをパラメータとして渡すことはできないのでしょうか?

WBOY
リリース: 2016-06-23 13:49:55
オリジナル
1223 人が閲覧しました

うわー

記録の最初の行のタイトルは、「私と義理の妹の間のこと」
しかし、読者の皆さん、結果がどうなるか想像してみてください。
配列
(
[タイトル] => タイトル
[0] => タイトル
)

これはなぜですか?
select title from tianya_post where id=?
$stmt->bindValue(1, 1); を使用すると、正しいタイトルを取得できます。

ディスカッションへの返信 (解決策)

フィールドリストはパラメータではありません!

http://blog.csdn.net/fdipzone/article/details/22330345


次の状況では、PDO は SQL インジェクションを防ぐことができないことに注意してください。
プレースホルダー ? で値のセットを置き換えることはできません。その結果、このデータ セットの最初の値のみが取得されます。
select * from table where userid in (?); in? を使用して検索する場合は、代わりに find_in_set() を使用して $ids = '1,2,3,4,5,6';
select * from table where find_in_set(userid, ?); を使用することはできません。プレースホルダーでデータ テーブル名または列名を置き換えます。
select * from table order by ?;
プレースホルダー ? で他の SQL 構文を置き換えることはできません。
select extract( ? from addtime) as mytime fromテーブル

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