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

PHP基本教程

PHP上級教程

PHP & MySQL

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

PHP mysqli_query()関数の使用法と例

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

mysqli_query()関数はデータベースに対して一度のクエリを実行します

定義と使い方

mysqli_query()関数はクエリを表す文字列値をパラメータとして受け取り、データベース上で指定されたクエリを実行します。

文法

mysqli_query($con, query)

パラメータ

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

con(必須)

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

2

query(必須)

これは実行するクエリを表す文字列値です。

3

mode(オプション)

これは結果モードを表す整数値です。mode(オプション)として設定できます。MYSQLI_USE_RESULTまたはMYSQLI_STORE_RESULTこのパラメータに値として渡されます。

返り値

失敗した場合にFALSEを返し、mysqli_query()でSELECT、SHOW、DESCRIBEまたはEXPLAINクエリを成功実行するとmysqli_resultオブジェクトが返され、他のクエリではTRUEが返されます。

他のクエリではこの関数は布尔値を返し、操作が/クエリが成功した場合true、さもなければfalse

PHPバージョン

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

オンラインサンプル

以下の例ではmysqli_query()関数の使い方(手続き型スタイル)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE IF NOT EXISTS my_team(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("テーブルの作成..."."\n");
   //レコードをmy_teamテーブルに挿入します
   mysqli_query($con, "insert into my_team values(1, 'Shikhar', 'Dhawan', 'Delhi', 'India")");
   mysqli_query($con, "insert into my_team values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   mysqli_query($con, "insert into my_team values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   mysqli_query($con, "insert into my_team values(4, 'Virat', 'Kohli', 'Delhi', 'India')");
   print("記録を挿入..."."\n");
  
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

テーブルを作成...
記録を挿入...

データベースのテーブルの内容を観察すると、以下のように挿入されたレコードが見られます:

mysql> select * from my_team;
+------+------------+------------+----------------+-------------+
| ID   | First_Name | Last_Name  | Place_Of_Birth | Country     |
+------+------------+------------+----------------+-------------+
|    1 | Shikhar    | Dhawan     | Delhi          | India       |
|    2 | Jonathan   | Trott      | CapeTown       | SouthAfrica |
|    3 | Kumara     | Sangakkara | Matale         | Srilanka    |
|    4 | Virat      | Kohli      | Delhi          | India       |
+------+------------+------------+----------------+-------------+
4 rows in set (0.00 sec)

オンラインサンプル

オブジェクト指向のスタイルでは、この関数の文法は}}$con-> query();。以下は、オブジェクト指向スタイルでのこの関数の例です;

<?php
   $con = new mysqli("localhost", "root", "password", "mydb");
   //レコードをplayersテーブルに挿入します
   $con-> query("CREATE TABLE IF NOT EXISTS players(First_Name VARCHAR(255), Last_Name VARCHAR(255), Country VARCHAR(255))");
   $con-> query("insert into players values('Shikhar', 'Dhawan', 'India')");
   $con-> query("insert into players values('Jonathan', 'Trott', 'SouthAfrica')");
   print("データの作成......");
   //接続を閉じる
   $res = $con -> close();
?>

出力結果

データの作成......

データベースのテーブルの内容を観察すると、以下のように挿入されたレコードが見られます:

mysql> select * from players;
+------------+-----------+-------------+
| First_Name | Last_Name | Country |
+------------+-----------+-------------+
| Shikhar | Dhawan | India |
| Jonathan | Trott | SouthAfrica |
+------------+-----------+-------------+
2 rows in set (0.00 sec)

オンラインサンプル

以下の例では、INSERTおよびSELECTクエリの結果を印刷します-

<?php
   //接続を確立する
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE IF NOT EXISTS my_team(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("テーブルの作成..."."\n");
   //レコードをmy_teamテーブルに挿入します
   $res = mysqli_query($con, "insert into my_team values("1, 'Shikhar', 'Dhawan', 'Delhi', 'India")");
   print("挿入クエリの結果: ",$res,"\n");
   $res = mysqli_query($con, "insert into my_team values("2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   print("インサートクエリの結果: ".$res);
   $res = mysqli_query($con, "SELECT * FROM my_team");
   print("SELECTクエリの結果: ");
   print_r($res);
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

テーブルを作成...
インサートクエリの結果: 1
インサートクエリの結果: 1SELECTクエリの結果: mysqli_result オブジェクト
(
    [current_field] => 0
    [field_count] => 5
    [lengths] =>
    [num_rows] => 2
    [type] => 0
)

オンラインサンプル

以下のように、データベースにplayersテーブルが作成され、データが入力されています:-

CREATE TABLE Players (Name VARCHAR(255), Age INT, Score INT);
   insert into Players values('Dhavan', 33, 9),('Rohit', 28, 26),('Kohli', 25, 50);

以下の例では、データベースに対するクエリを実行しています:

<?php
   //接続を確立する
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //複数のクエリを実行する
   $query = "SELECT * FROM players";
 
   //レコードを検索する
   $res = mysqli_query($con, $query, MYSQLI_USE_RESULT);
   if ($res) {
      while ($row = mysqli_fetch_row($res)) {
         print("名前: ".$row[0]."\n");
         print("年齢: ".$row[1]."\n");
      }
   }
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

名前: ダヴァン
年齢: 33
名前: ロヒト
年齢: 28
名前: コーリ
年齢: 25

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