(PECL maxdb >= 1.0)
maxdb_query -- maxdb::query — データベース上でクエリを実行する
手続き型
オブジェクト指向型
maxdb_query() 関数は、link が表すデータベースに対するクエリの実行を単純化するために使用されます。
成功した場合に TRUE を、失敗した場合に FALSE を返します。 SELECT, SHOW, DESCRIBE あるいは EXPLAIN の場合は、maxdb_query() は結果リソースを返します。
例1 オブジェクト指向型
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* 接続を調べます */
if (maxdb_connect_errno()) {
printf("接続に失敗しました: %s\n", maxdb_connect_error());
exit();
}
/* テーブルの作成の場合は結果セットを返しません */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
printf("mycity テーブルの作成に成功しました。\n");
}
/* select クエリは結果セットを返します */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
printf("select が %d 行のデータを返しました。\n", maxdb_num_rows($result));
/* 結果セットを開放します */
$result->close();
}
/* 大量のデータを取得しなければならない場合は MAXDB_USE_RESULT を使用します */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
$result->close();
}
$maxdb->close();
?>
例2 手続き型
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* 接続を調べます */
if (maxdb_connect_errno()) {
printf("接続に失敗しました: %s\n", maxdb_connect_error());
exit();
}
/* テーブルの作成の場合は結果セットを返しません */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
printf("mycity テーブルの作成に成功しました。\n");
}
/* select クエリは結果セットを返します */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
printf("select が %d 行のデータを返しました。\n", maxdb_num_rows($result));
/* 結果セットを開放します */
maxdb_free_result($result);
}
/* 大量のデータを取得しなければならない場合は MAXDB_USE_RESULT を使用します */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
maxdb_free_result($result);
}
maxdb_close($link);
?>
上の例の出力は、 たとえば以下のようになります。
mycity テーブルの作成に成功しました。 select が 25 行のデータを返しました。