MySQLクエリで影響を受けた行数を取得するために使用されるPHP関数はどれですか?
PHPでは、mysql_affected_rows() 関数を使用して、クエリによって変更された行数を調べることができます。この関数は、直前に実行された SELECT、INSERT、UPDATE、REPLACE、または DELETE クエリによって影響を受けた行数を返します。
戻り値の意味は以下のとおりです。
- 0より大きい整数:影響を受けた行数を示します
- 0:影響を受けたレコードが存在しないことを示します
- -1:クエリがエラーを返したことを示します
構文
mysql_affected_rows( connection );
パラメータ
この関数で使用されるパラメータは以下のとおりです。
| 番号 | パラメータと説明 |
|---|---|
| 1. | connection 必須 – 使用するMySQL接続を指定します |
注意点:非推奨となった関数
mysql_affected_rows() は旧来のMySQL拡張モジュール(mysql_* 系)に属する関数であり、PHP 7.0以降では削除されています。そのため、現在の開発環境では使用できません。
現代のPHPでは、以下の代替手段を使用することが推奨されます。
- mysqli_affected_rows():mysqli拡張モジュールにおける同等の関数
- PDOStatement::rowCount():PDOを使用している場合の対応するメソッド
新規プロジェクトでは、セキュリティ面(プリペアドステートメントへの対応など)でも優れている mysqli または PDO の利用を検討してください。
-
MySQLで数値のみの行を抽出するREGEXPクエリの使い方
文字列と数字が混在するデータの中から、数値だけで構成された行だけを取り出したい場合、MySQLのREGEXP演算子を使うのが便利です。正規表現パターン「^[0-9]+$」を指定することで、先頭から末尾まですべてが0〜9の数字で構成されている行のみを絞り込むことができます。 サンプルテーブルの作成 まず、検証用のテーブルを作成します。 mysql> create table DemoTable -> ( -> StudentId varchar(100) &n
-
【MySQL】最後のクエリの総行数を取得する方法:SQL_CALC_FOUND_ROWSとFOUND_ROWS()の使い方
MySQLでは、FOUND_ROWS()関数を使うことで、直前に実行したクエリが該当させた全行数を簡単に取得できます。この記事では、SQL_CALC_FOUND_ROWSと組み合わせた具体的な使い方を、実例とともにわかりやすく解説します。基本構文LIMIT句で表示件数を制限しながら、条件に一致する全行数を把握したい場合は、SELECT文にSQL_CALC_FOUND_ROWSを付けて実行します。基本構文は以下の通りです。SELECT SQL_CALC_FOUND_ROWS TABLE_NAME FROM `information_schema`.tables WHERE TABLE_NAME