(PHP 4, PHP 5)
mysql_db_query — データベースを選択し、そこでクエリーを実行する
この関数は PHP 5.3.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。
$database
, string $query
, resource $link_identifier
= NULL): resource|boolmysql_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() を利用したりすることが 強く推奨されています。