« mysql_db_name
mysql_drop_db »

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — データベースを選択し、そこでクエリーを実行する

警告

この関数は PHP 5.3.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。

説明

function mysql_db_query(string $database, string $query, resource $link_identifier = NULL): resource|bool

mysql_db_query() はデータベースを選択し、 そこでクエリーを実行します。

パラメータ

database

選択するデータベース名。

query

MySQL クエリー。

クエリ内のデータは 適切にエスケープ する必要があります。

link_identifier

MySQL 接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、E_WARNING レベルのエラーが生成されます。

戻り値

クエリーの結果を指す MySQL 結果リソースを正の値で返します。 エラー時には false を返します。また、 INSERT/UPDATE/DELETE クエリーの場合には true または false を返し、これらはそれぞれ クエリーが 成功した / 失敗した ことを示します。

例

例1 mysql_db_query() の別の例

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Could not select database';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

注意

注意:

この関数の終了後、直前に選択されていたデータベースに自動的に戻ることは ないということに注意してください。 言い換えれば、一時的に別のデータベース上でクエリーを 実行するという目的でこの関数を利用することはできないということです。 もしそのような場合は、もとのデータベースに改めて接続しなおす必要があります。 この関数のかわりに、SQL クエリーの中で database.table 構文を用いたり mysql_select_db() を利用したりすることが 強く推奨されています。

参考

関連キーワード:
mysql   クエリー   MySQL   query   データベース   選択   database   link   connect   exit   resource   identifier   クエリ   接続   確立   drop   非推奨   拡張   全体   MySQLi   詳細   代替   mysqli   construct   エスケープ
関連する関数・ページ:
function.mysql-select-db   function.mysql-create-db   function.mysql-drop-db   mysql.examples-basic   function.mysql-list-dbs   book.mysql