PHPでMySQLをいじくる

こういう記事を書く度に今時の人たちはSQLなんて書かないんだろうなぁとか思いながら書いてます。

さて、PHPでMySQLをいじる場合には、PDOという物を使います。次に紹介するページを見るとより詳しく書いてあるので、詳しい話が見たい人はそこを見てください。

PDOの利用

まぁ色々書いてありますが、とりあえず色んなデータベースに対して、コネクションストリングさえ渡してあげれば同じインターフェースで扱えるDB用の機能といったところでしょうか。実際の使い方を見て行きます。

データベースの情報が無いと話が進められないので、仮にデータベース情報が以下であるとします。

  • 使用DB: mysql
  • データベース名: company
  • DBのあるホスト: localhost
  • ユーザ名: user
  • パスワード: password

これで、companyデータベースへ接続が出来ます。次に、このpdoオブジェクトを用いてSQLを発行してみましょう。ここではcompanyに存在するdeptテーブルから情報を引き出す事にします。

このようにしてSQL文を発行する事が出来ます。また、JavaのPreparedStatement的な使い方も出来るので、例えばidが1番のものを取ってきたいときはこんな感じで書く事もできます。

bindParam関数で変数をバインドします。あ、確かこの時、bindParam関数内で、バインドする値には変数以外使えないことに注意します。例えば、こういう書き方すると、できない。

はい。そしたら結果を見てみましょう。こうやって見ます。

ここでは、PDOStatementクラスのfetchメソッドを使っています。引数にデータ取得のスタイルを入れる事が出来ます。ここでは、結果セットに 返された際のカラム名で添字を付けた配列を返す、PDO::FETCH_ASSOCを使います。このように書く事で、deptListという配列の中に、結果セットが入りました。では、一応web用かなにかで利用する為に、この値をjsonで返してみましょう。

なにも難しい事はないですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">