タグ

phpとpdoに関するozzwarのブックマーク (4)

  • bindParam()とbindValue()の違い - Qiita

    $statement = $database->prepare('INSERT INTO favorite_category (id_users, category_id) values(:id, :category_id)'); $id = 3; $categoryID = 10; $statement->bindParam(':id', $id); $statement->bindParam(':category_id', $categoryID); $statement->execute(); $statement->bindValue(':id', 3); $statement->bindValue(':category_id', 10); $statement->execute(); bindParam()は変数を入れないとエラーが出る。bindValue()は値を直接入れても、

    bindParam()とbindValue()の違い - Qiita
    ozzwar
    ozzwar 2017/04/22
  • PDOの利用 | PHP Labo

    データベースに接続する PDOでデータベースに接続するには、PDO クラスを使用します。接続に成功するとオブジェクトが返されます。 オブジェクト = new PDO( 'データベースの種類:dbname=データベース名;host=接続先アドレス', 'ユーザー名', 'パスワード' ); MySQLに接続する場合、データベースの種類は mysql を指定します。もしPostgreSQLに接続したければ pgsqlSQLiteに接続したければ sqlite を指定します。他にも、色々な種類のデータベースに接続することができます。 接続に失敗するとPDOは「例外」を発生させます。これは try と catch を使用すれば補足することができます。具体的には try { チェックしたい処理 } catch (PDOException $e) { 例外が発生したときの処理 } という形式になりま

    ozzwar
    ozzwar 2016/02/18
  • PHPでPDOを使ってMySQLに接続、INSERT、UPDATE、DELETE、COUNT、SUM - Qiita

    今まで mysql... 系を使用していましたが、PHP5.5以降は非推奨となり、将来的には削除される予定らしいので、PDOの使用に変更しようと思い、まとめてみました。 プリペアドステートメントでINSERTすると安全に値を渡せるとか、結構便利みたい。 Manualとか色々読んだけど、分かりにくい言葉が多かったので、自分なりに解釈を書いています。 PDOとかプリペアドステートメントの説明 こっちのページに詳しく書いています。 言葉の意味分からんわー。みたいな時は是非読んでみてください。 PDOでMySQLを色々やる。 まずメソッドや引数をちょっとまとめました。 今後増やしていこうと思っています。 メソッドや引数 内容

    PHPでPDOを使ってMySQLに接続、INSERT、UPDATE、DELETE、COUNT、SUM - Qiita
  • PDOにおける一応の安全宣言と残る問題点

    8月18日にPHP5.3.7がリリースされました。このリリースにより、PDOのSQLインジェクションの問題が一応解決されたと判断しましたので、ここに「一応の安全宣言」を表明するとともに、残る問題について報告します。 PDOの問題とは何か 以前、ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)にて報告したように、PHP5.3.5以前のPDOにはDB接続時に文字エンコーディングを指定する機能がないため、文字列リテラルのエスケープの際に文字エンコーディングをLatin1を仮定してしまうという問題がありました。この状態ですと、DBにShift_JISで接続している際に、SQLインジェクション脆弱性が混入しました。 ※ 実は、先のエントリの「追記(2010/07/01 22:20)」に紹介した方法で文字エンコーディングを指定できるのですが、ほとんど知られていないのと

  • 1