ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

やっぱphp5でしょ!コミュのPHP5.3でのPDOの取り扱い

  • mixiチェック
  • このエントリーをはてなブックマークに追加
PDOが内蔵されたので、pecl install pdoが必要なくなりました。
これで混乱している情報がWeb上にいろいろ出てますよね。

これ自体はまぁあまり気にすることでもないと思っていました。
ところが、PHP5から内蔵された「sqlite3」を使っているケースで下記の影響が出ました。

sqlite_escape_string関数が無くなった!?

SQLインジェクションを防ぐための必須メソッドだったはずなので、まぁ普通は使っているかなと思いますが、無いんですよ。
なのでそこでエラーがでて動きません。基本的には
$db = new SQLite3("DB名");
$escaped_string = $db->escapeString($string);
がsqlite_escape_stringの替わりとか(escapeStringはPHP5.3から追加)。

いやいや、わざわざDB接続のためのコネクションはらなくても、単体でsqlite_escape_stringを使いたいんですけど・・。PHP5.3.3ですがこのバージョンだけのバグ!?
分からないことだらけです。
仕方がないので、PHP側が対応してもOKなようにsqlite_escape_string関数を作って見ました。

情報:http://bakkers.gr.jp/~kitani/manual/php/php53.html#1

P. S.
PHP5.3ではeregがとうとう非推奨になって、Warningが沢山出てくるようになりましたし、対応するのが面倒になりましたねぇ。



コメント(0)

mixiユーザー
ログインしてコメントしよう!

やっぱphp5でしょ! 更新情報

やっぱphp5でしょ!のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング