手違いによりブログデータを削除してしまったため、キャッシュから拾える範囲で再エントリー。そのためパーマネントリンクが違うと思います。また、投稿日も再エントリーした日付になっています。
PHP5からの実装された(?)データベース接続のコンポーネントである、PDOで、LIMIT句のプリペアードステートメントに関するおかしな現象を見つけた。
不具合なのかサーバーの環境なのか、自分のスキル不足(←この可能性大)なのかわからいが、その例を覚書。
自分のXREA+Plusでの環境
・PHP5.2.5
・MySQL5.1.22
上で、
$rs = $myDB->prepare(’SELECT * FROM tableA WHERE id = ? group by id order by id LIMIT ? ,10′);
$rs->execute(array($_GET['id'],$page));
というPDOを使った処理を行おうとしたが、どうもLIMIT句の部分がうまくいかない。
limit句の?を直接数字にしてみると動作しているので、プリペアードステートメントに関する不具合?かとも思った。
ググってみると
http://kandk.cafe.coocan.jp/blog/jeans/index.php?itemid=617
似たような人がいたので、やはりそうなのかと。
とりあえず、
$rs = $myDB->prepare(
‘SELECT * FROM tableA WHERE id = ? group by id order by id LIMIT ‘.$page.’ ,10′
);
$rs->execute(array($_GET['id']));
こんな感じで、LIMIT句のところだけはプリペアードステートメントを止める形で実装したら動作した。
ちなみに、ローカルの環境では、この問題は起こってない。
どういうバージョンで起きるのだろうなぁ。
[2009.1.21フォローエントリー]