4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPでPDOステートメントでよく使うやつ

Last updated at Posted at 2015-05-02

全部のレコードを配列で取り出す

抽出したレコードを配列で全部取り出したい時に。
一番良く使うやつ。

$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マニュアルの方には、もっといろんな手段があるから、もっとよくなるかもよ。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?