【PHP】AWS RDSのデータベースからデータ取得
クエリの実行
ユーザー入力を受け取ってSQL文を動的に生成する場合は プリペアドステートメント と プレースホルダ を使わなければなりません。
疑問符プレースホルダ
PDO::prepare → PDOStatement::bindValue → PDOStatement::execute の3ステップでクエリを実行
$stmt = $dbh->prepare('SELECT * FROM users WHERE gender = ? AND age = ?');
$stmt->bindValue(1, $gender);
$stmt->bindValue(2, (int)$age, PDO::PARAM_INT);
$stmt->execute();
//文字列以外のものを扱う際に明示的なキャストが必要
PDO::prepare → PDOStatement::execute の2ステップでクエリを実行する
$stmt = $dbh->prepare('SELECT * FROM users WHERE city = ? AND gender = ?');
$stmt->execute([$city, $gender]);
SELECT の結果を取得する
$rows = $stmt->fetchAll();
var_dump($rows);
特定のカラムだけ一気に全件取得して1次元配列としたい場合,第1引数に PDO::FETCH_COLUMN
を指定し,第2引数にカラムの「番目」を渡す.「番目」は 0 から始まる.省略した場合は 0 を指定したとみなされる。
$values = $stmt->fetchAll(PDO::FETCH_COLUMN);
var_dump($values);
ディスカッション
コメント一覧
まだ、コメントがありません