テーブル名の指定に変数を使用
テーブル名の指定に変数を使いましたが、SQLインジェクション攻撃というものがあるのを知り(理解はできていません)、質問させて頂きました。
引数が数値の場合だけ問題になるのでしょうか?
PHP
1 $tbl_name = $_POST['select_tbl']; 2 $sql = 'SELECT * FROM '.$tbl_name.''; 3 $stmt=$pdo->query($sql);
試したこと
バインド機構というものを利用してみようと思いましたが、動きませんでした。
カラムの値に使用するものと知り、違う書き方があれば教えて下さい。
よろしくお願い致します。
PHP
1 $tbl_name = $_POST['select_tbl']; 2 $sql = 'SELECT * FROM :tbl_name'; 3 $stmt=$pdo->prepare($sql); 4 $stmt->bindParam(':tbl_name', $tbl_name, PDO::PARAM_STR); 5 $stmt->execute();
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/02 07:14