php MySQL 全体件数を取得

PHPとMySQLデータベースについて PHP/MySQL
テーブル内の件数を取得する一般的には、FOUND_ROWS(+SQL_CALC_FOUND_ROWS)を使うと、MySQLの内部処理が少なくて済む(=速い)と言われている。

PHP


//データ取出し-----------
$query = ('SELECT SQL_CALC_FOUND_ROWS カラム名  FROM  テーブル名'); //SQLクエリは1つだけ
$result = mysql_query($query);

//件数チェック----
$num_query = mysql_query('SELECT FOUND_ROWS()');
list($num) = mysql_fetch_row($num_query);

echo "件数は".$num."件";

while($data = mysql_fetch_assoc($result)) {
	echo $data['カラム名'];
}
2021年追加– MySQLで `sql_calc_found_rows`が`遅く、countのほうが速いときもある。2020年の情報参考:https://www.fixes.pub/

rowCount()関数でDOメッソッド、アップデート完了した件数を取得する

PHP


$sql = "UPDATE users SET age = 15 WHERE gender = 'woman'";
$sth = $pdo -> query($sql);

//アップデート完了した件数を取得
$count = $sth -> rowCount();

echo $count.'件UPDATEしました。';

rowCount()関数でPDOメッソッド、DBからDELETEした件数を取得する

PHP


$sql = "DELETE FROM users WHERE pref = '愛知'";
$sth = $pdo -> query($sql);

//DELETEした件数を取得する
$count = $sth -> rowCount();

echo $count.'件DELETEしました。';
タイトルとURLをコピーしました