English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP基本教程

PHP上級教程

PHP & MySQL

PHPリファレンスマニュアル

PHP mysqli_affected_rows()関数の用法と例

PHP MySQLi リファレンスマニュアル

mysqli_affected_rows()関数は、前のMySQL操作で影響を受けた行数を取得します。

定義と用法

mysqli_affected_rows()関数の作用は、INSERT、UPDATE、REPLACE、またはDELETEクエリの後に呼び出された場合、前の操作で影響を受けた行数を返すことです。

SELECT文の後に使用した場合、この関数は行数を返します。

構文

mysqli_affected_rows($con)

パラメータ

序号パラメータ及び説明
1

con(必須)

これはMySQL Serverとの接続を表すオブジェクトです。

返り値

PHP mysqli_affected_rows()関数は、前の(SELECT、INSERT、UPDATE、REPLACEまたはDELETE)操作によって影響を受けた行数を示す整数値を返します。

前のクエリにエラーがある場合、この関数は -1。影響された行がない場合、または前のクエリ/の操作が上記に記載されていない場合:/の操作の一つで、この関数は0を返します。

PHPバージョン

この関数は最初にPHPバージョン5で導入され、すべての上位バージョンで使用できます。

オンラインサンプル

以下の例では、mysqli_affected_rows()関数の使用方法(プログラムスタイル)

<?php
   //接続の作成
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employeeテーブルのすべての行を検索するクエリ
   mysqli_query($con, "SELECT * FROM employee");
   //影響された行
   $rows = mysqli_affected_rows($con);
   print("影響された行数: ".$rows);
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

影響された行数: 5

オンラインサンプル

オブジェクト指向のスタイルでは、この関数の構文は $con -> affected_rows、其中 $con は接続オブジェクトです-

<?php
   //接続の作成
   $con = new mysqli("localhost", "root", "password", "mydb");
   //employeeテーブルのすべての行を検索するクエリ
   $con -> query("SELECT * FROM employee");
   //影響された行数
   $rows = $con -> affected_rows;
   print("影響された行数: ".$rows);
   //接続を閉じる
   $con -> close();
?>

出力結果

影響された行数: 5

オンラインサンプル

以下の状況で、この関数の返り値を確認しましょう:指定されたクエリがなく、クエリにエラーがあるまたは何も影響を与えない場合:

<?php
   //接続の作成
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $rows1 = mysqli_affected_rows($con);
   print("影響された行(操作が指定されていない場合): ".$rows1"\n");
   //employeeテーブルのすべての行を検索するクエリ
   mysqli_query($con, "SELECT * FORM employee");
   $rows2 = mysqli_affected_rows($con);
   print("影響された行(クエリにエラーがある場合): ".$rows2"\n");
   //employeeテーブルのすべての行を検索するクエリ
   mysqli_query($con, "SELECT  FIRST_NAME FROM employee WHERE AGE <=19");
   $rows3 = mysqli_affected_rows($con);
   print("影響された行(操作が実行されない場合): ".$rows3"\n");
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

影響された行(操作が未指定の場合): 0
影響された行(クエリにエラーがある場合): -1
影響された行(クエリが何も実行しない場合): 0

オンラインサンプル

以下の例では、SELECT、UPDATE、INSERT、DELETEクエリでmysqli_affected_rows関数の使用方法-

<?php
   //接続を確立
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employeeテーブルのすべての行を検索
   mysqli_query($con, "SELECT * FROM employee WHERE INCOME > 8000");
   print("SELECTクエリが影響する行: ".mysqli_affected_rows($con)."\n");
   //employeeテーブルの行を更新するクエリ
   mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN ('Ramya', 'Trupthi', 'Sarmista')");
   print("UPDATEクエリが影響する行: ".mysqli_affected_rows($con)."\n");
   //employeeテーブルに行を挿入するクエリ
   mysqli_query($con, "INSERT INTO employee VALUES ('Archana', 'Mohonthy', 30, 'M', 13000, 106);
   print("INSERTクエリが影響する行: ".mysqli_affected_rows($con)."\n");
   //employeeテーブルの行を削除するクエリを検索
   mysqli_query($con, "DELETE FROM employee WHERE AGE > ") 25");
   print("DELETEクエリが影響する行: ".mysqli_affected_rows($con)."\n");
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

SELECTクエリが影響する行: 4
UPDATEクエリが影響する行: 3
INSERTクエリが影響する行: 1
DELETEクエリが影響する行: 3

PHP MySQLi リファレンスマニュアル