MySQL

UPDATEのWHEREに一致した行数(変更があった行数ではない)を取得する方法がわからぬ。1年くらい前にも同じ事で悩んで、そのときは諦めたんだけど、また必要になったので調べてみた。すると、Cのインタフェースのマニュアルに

client_flag パラメータには通常 0 を指定するが、極めて特殊な状況では以下に示すフラグを組み合わせて指定できる。 CLIENT_FOUND_ROWS 影響を受けたレコードの数ではなく、検索結果の(一致した)レコードの数を返す。

というのがあったので、php

$aaa = mysql_connect($server, $user, $pass, false, 2/*CLIENT_FOUND_ROWS*/);

ってな具合に接続したら、mysql_affected_rows() で一致した行数が取得できるようになった。
ただ、mysql_pconnect() ではこのパラメータを指定できないので使えないっぽい。いままで何も考えずに mysql_pconnect() を使ってたんだけど、実際どれほど差があるかしらんなー。
mysql_info() で返される

Rows matched: 2 Changed: 0 Warnings: 0

という行をアレして取得することもできるけど、あんまりやりたくないですなこれは。