mysql_db_query

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

警告

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

  • mysqli_select_db してからクエリーを実行
  • PDO::__construct

説明

resourcebool mysql_db_query(string $database, string $query, resource $link_identifier = NULL)

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_query
  • mysql_select_db