2024 年 PHP Conference Japan

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db選擇 MySQL 資料庫

警告

此擴充套件已於 PHP 5.5.0 中棄用,並已於 PHP 7.0.0 中移除。建議改用 MySQLiPDO_MySQL 擴充套件。另請參閱 MySQL:選擇 API 指南。此函式的替代方案包括:

說明

mysql_select_db(字串 $database_name, 資源 $link_identifier = NULL): 布林值

設定與指定連結識別碼關聯的伺服器上目前的活動資料庫。後續每次呼叫 mysql_query() 都將在活動資料庫上執行。

參數

database_name

要選取的資料庫名稱。

link_identifier

MySQL 連線。如果未指定連結識別碼,則假設為 mysql_connect() 開啟的最後一個連結。如果找不到此連結,它會嘗試建立一個連結,如同以無參數呼叫 mysql_connect() 一樣。如果找不到或無法建立連線,則會產生 E_WARNING 等級的錯誤。

返回值

成功時返回 true,失敗時返回 false

範例

範例 #1 mysql_select_db() 範例

<?php

$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
die(
'未連線 : ' . mysql_error());
}

// 將 foo 設為目前的資料庫
$db_selected = mysql_select_db('foo', $link);
if (!
$db_selected) {
die (
'無法使用 foo : ' . mysql_error());
}
?>

注意事項

注意:

為了向後相容,可以使用以下已棄用的別名:mysql_selectdb()

參見

新增註釋

使用者貢獻的註釋 2 則註釋

james at gogo dot co dot nz
20 年前
如果您同時在同一伺服器上使用兩個資料庫,請務必小心。 根據預設,mysql_connect 會針對具有相同伺服器參數的多個呼叫返回相同的連線 ID,這表示如果您執行

<?php
$db1
= mysql_connect(...stuff...);
$db2 = mysql_connect(...stuff...);
mysql_select_db('db1', $db1);
mysql_select_db('db2', $db2);
?>

那麼 $db1 實際上會選擇 'db2' 這個資料庫,因為第二次呼叫 mysql_connect 時只是返回了已經開啟的連線 ID!

這裡有兩個選項,您必須在每次執行查詢之前呼叫 mysql_select_db,或者如果您使用的是 php4.2+ 版本,則 mysql_connect 有一個參數可以強制建立新的連結。
Maarten
19 年前
關於使用相同參數呼叫 mysql_connect() 開啟連線:這可以透過使用該函數的 'new_link' 參數來避免。

此參數自 PHP 4.2.0 起可用,即使呼叫使用相同的參數,也能讓您開啟新的連結。
To Top