MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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 の利用を検討してください。

  1. MySQLで数値のみの行を抽出するREGEXPクエリの使い方

    文字列と数字が混在するデータの中から、数値だけで構成された行だけを取り出したい場合、MySQLのREGEXP演算子を使うのが便利です。正規表現パターン「^[0-9]+$」を指定することで、先頭から末尾まですべてが0〜9の数字で構成されている行のみを絞り込むことができます。 サンプルテーブルの作成 まず、検証用のテーブルを作成します。 mysql> create table DemoTable     -> (     -> StudentId varchar(100)   &n

  2. 【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