SQLインジェクション対策の第一歩として、
SQLの実行にはプリペアドステートメントを徹底したほうがよいでしょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* DB接続 */ $db = new PDO('DSN情報', 'ユーザー名', 'パスワード'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /* パラメータ */ $param = array('001', 2); /* クエリ実行 */ $stmt = $this->db->prepare('select column1 from table1 where id = ? and type = ?'); try { $stmt->execute($param); } catch(PDOException $e) { /* エラー処理 割愛 */ exit(); } /* データ取得 */ $val = null; while($row = $stmt->fetch(PDO::FETCH_NUM)) { $val = $row[0]; } |