タグ

pdoに関するslay-tのブックマーク (3)

  • PDOでオブジェクトをフェッチ&JSONとCSVファイル出力 - Qiita

    PDOを使ったデータベース操作でオブジェクトを扱う場合、不便なところが結構あります。 それを PDOStatement を拡張することで使いやすくしようという話を基に、応用例としてJSON出力とCSVファイル出力の方法を紹介します。 オブジェクトで取得するためのフェッチモード フェッチモードには多彩なものが用意されているのですが、オブジェクトで取得する場合はどれも使いづらいです。 自分はいわゆるモデルクラスは不変オブジェクトにしたいよ派かつ、マジックメソッド大好きなので、その辺りの使いやすさについても注目してみます。 PDO::FETCH_OBJ 列名をプロパティに持つ匿名オブジェクト (stdClass) を返します。 匿名オブジェクトなんて連想配列と同じだし、今となっては意味がなさそう…。 PDO::FETCH_LAZY PHPマニュアルの記述からは PDO::FETCH_OBJ と

    PDOでオブジェクトをフェッチ&JSONとCSVファイル出力 - Qiita
  • SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば

    オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ SQLインジェクション対策で大垣靖男氏は何を勘違いしていたか | [ bROOM.LOG ! ] エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog SQLへの安全な値の埋め込み方について、ここ数日で色々議論というか意見の投げ合いがありましたが、自分としての考えをまとめておきます。 1. SQLに値を埋め込む場合は、プリペ

    SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば
  • トランザクションは再利用の敵である

    釣りっぽいタイトル。「RDBのトランザクションが絡むとアプリケーション側のプログラムが書きにくくなる」という話です。 もちろんですが、RDBのトランザクション機能は偉大であり、Webアプリケーションでも意識して使わなければならず、「トランザクションなんて使うな」と言いたいわけではありません。 合成できない関数 PHPで素のPDOから考えます。たとえば、以下の関数に問題はあるでしょうか? <?php /* * 古いデータをアーカイブテーブルに移す関数のイメージ */ function moveDataToArchive(PDO $db) { $db->beginTransaction(); try { $db->exec(' INSERT INTO archives SELECT * FROM data WHERE published < CURRENT_DATE '); $db->exec

    トランザクションは再利用の敵である
  • 1