PHPは仕様がよく変わったりするので、ハマってしまうことが多々あります。

POSTされた文字列が行方不明になる

htmlspecialcharsを使っていると起こります。
PHP5.4.0からデフォルトのエンコーディングが変更になったため、内部コードにEUC-JPやShift_JISを使用していると起こります。
第3引数にエンコーディングを指定しましょう。

× $string = htmlspecialchars($string);

$string = htmlspecialchars($string, NULL, 'EUC-JP');

現在のシーケンス値を取得しようとするとエラーになる

原因がPHPなのかPEARなのかPostgreSQLなのか不明です。
いつの間にか取得できないようになってしまっていました。
SQL文を直接指定してやれば動作します。

× $seq = $mdb2->currID('seq');

$seq = $mdb2->queryOne("SELECT currval('seq')");


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS