PHP mysqli multi_query()関数
例 - オブジェクト指向スタイル
データベースに対して複数のクエリを実行します。
<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
}
$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";
// Execute multi query
if ($mysqli -> multi_query($sql)) {
do {
// Store first result set
if ($result = $mysqli -> store_result()) {
while ($row = $result -> fetch_row()) {
printf("%s\n", $row[0]);
}
$result -> free_result();
}
// if there are more result-sets, the print a divider
if ($mysqli -> more_results()) {
printf("-------------\n");
}
//Prepare next result set
} while ($mysqli -> next_result());
}
$mysqli -> close();
?>
下部の手続き型スタイルの例を見てください。
定義と使用法
multi_query() / mysqli_multi_query()関数は、データベースに対して1つ以上のクエリを実行します。クエリはセミコロンで区切ります。
構文
オブジェクト指向スタイル:
<div>$mysqli -> multi_query(<em>query</em>)</div>
手続き型のスタイル:
<div>mysqli_multi_query(<em>connection, query</em>)</div>
パラメータ値
パラメータ |
説明 |
---|---|
connection | Required 使用するMySQL接続を指定します |
query | Required セミコロンで区切られた1つ以上のクエリを指定します |
Technical Details
Return Value: | 最初のクエリが失敗した場合はFALSE |
---|---|
PHP バージョン: |
5+ |
例 - 手続き型スタイル
データベースに対して複数のクエリを実行します。
<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";
// Execute multi query
if (mysqli_multi_query($con, $sql)) {
do {
// Store first result set
if ($result = mysqli_store_result($con)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
// if there are more result-sets, the print a divider
if (mysqli_more_results($con)) {
printf("-------------\n");
}
//Prepare next result set
} while (mysqli_next_result($con));
}
mysqli_close($con);
?>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。