全部のレコードを配列で取り出す
抽出したレコードを配列で全部取り出したい時に。
一番良く使うやつ。
$db = new dbClass(DB_DSN, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);// <-- PDOクラス
$gender = 'female';
$sql = "SELECT * FROM `tablename` WHERE `gender` = :gender";
$sth = $db->prepare($sql);
$sth->bindParam(':gender', $gender, PDO::PARAM_STR, 6);
$sth->execute();
$result = $sth->fetchall(PDO::FETCH_ASSOC);
fetchall 使わず fetch を while で回すとか基本ですが、実務じゃまどろっこしくて使いにくいケースが多いので、fetchall で全部取ってくる方法を選択しました。
1レコード1カラムだけ取り出す
例えば、あるユーザの特定の属性値だけ取ってくればいいやって時に使うやつ。
$db = new dbClass(DB_DSN, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);// <-- PDOクラス
$user_id = 1;
$sql = "SELECT `name` FROM `tablename` WHERE `user_id` = :id";
$sth = $db->prepare($sql);
$sth->bindParam(':id', $user_id, PDO::PARAM_INT);
$sth->execute();
$username = $sth->fetchColumn(0);
テーブルから一つのカラムを取ってくるだけでも、結果を配列で処理するとめんどくさい感じがするので、結果にはその値を直に取り出したい時に使います。
phpマニュアル 読めばわかること
phpマニュアルの方には、もっといろんな手段があるから、もっとよくなるかもよ。