2013-10-23 68 views
2

我是一名初學MySQL的人。我有這個代碼,我想解釋一下函數如何知道使用哪個數據庫,因爲$ conn和$ db是定義的?MySQL決定使用哪個數據庫

$conn = mysql_connect("localhost","primeb5_mysql","***"); 
$db = mysql_select_db("primeb5_unigis"); 
$query = "SELECT * FROM lesson3"; 
$result = mysql_query($query);" 
+2

如果你想開始使用php + mysql的,我建議你使用的MySQLi或PDO模塊... mysql_ *功能已被棄用。 –

+1

定義的數據庫只有一個,它在'mysql_select_db()'函數中。 'mysql_connect()'只包含數據庫主機,用戶名和密碼。除此之外,[請不要使用mysql_ *函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – George

+0

只是這樣的查詢SELECT columns FROM database.table ... –

回答

3

從PHP手冊:

http://php.net/manual/en/function.mysql-query.php

MySQL連接。如果未指定鏈接標識符,則假定由mysql_connect()打開的最後一個鏈接 。

所以,如果你沒有指定的連接(第二個參數)的mysql_query()功能,最後一個被使用。

在附註中,我想通知您,mysql_*函數已在PHP 5.5.0中棄用。不要使用它們,因爲如果你這樣做,你的網站可能會很快停止工作。

+0

而且我知道這很煩人,但請包括警告,這已被棄用! – Mr47

+0

只是爲了這樣做! :)感謝您的評論。 –

0

MySQL是不贊成使用的mysqli或PDO來代替

您不必使用PHP函數來選擇你的數據庫

只是用這個

mysqli_query("SELECT * FROM primeb5_unigis.lesson3"); 

或之間的連接例子ON後丟失多個數據庫...

mysqli_query("SELECT * FROM database1.table1 INNER JOIN database2.table2 ON ..."); 

編輯

我覺得topicstarter指連接到數據庫,但我離開這個答案可能是有益的

+1

你的意思是不推薦使用mysql而不使用mysqli –

+0

確實感謝輸入錯誤.. –

相關問題