2012-01-24 89 views
0

我老覺得,每當我運行下面的代碼:無法連接到MySQL數據庫,並通過

致命錯誤:調用未定義的函數mysql_connect()函數在C:\ WAMP \ WWW \ PHP -academy \ 113-CONNECT-db.php中


<?php 
    $conn_error ='could not connect'; 
    $mysql_host = 'localhost'; 
    $mysql_user = 'root'; 
    $mysql_pass = ''; 
    mysql_connect($mysql_host, $mysql_user, $mysql_pass) or             die($conn_error); 

    $mysql_db = 'a_database'; 

    mysql_select_db($mysql_db) or die($conn_error); 
    echo 'Connected!'; 
    ?> 

回答

1

我懷疑這是因爲擴展沒有加載。我會檢查你的php_info();找出答案。

一旦你這樣做你的代碼應該工作,雖然我更喜歡到mysql_connect()函數賦值給一個變量,然後調用mysql_select_db變量(),因爲我有如下:

$defHost  = 'localhost'; 
$defUsername = 'username'; 
$defPassword = 'password'; 
$defDatabase = 'database_name'; 

$connect = mysql_connect($defHost, $defUsername, $defPassword) or die(); 
mysql_select_db($defDatabase, $connect) or die(); 
+0

嘿感謝喬希我怎麼會去加載擴展?我檢查了phpinfo()函數,但不知道我應該在尋找什麼,不知道我應該做些什麼以獲得擴展加載。 –

+0

nm得到了它 - 我去了php.ini文件,發現; extension = php_mysql.dll並拿出分號。 –

+1

很高興你明白了,我花了幾個小時沒有檢查這個... – VictorKilo

4

這可能意味着你不具備MySQL擴展加載。您可以測試分機是否裝有extension_loaded("mysql");

+0

我想你打敗了我。 :P – VictorKilo

+0

謝謝Jelle。我測試了你建議的extension_loaded(「mysql」)。我將如何加載它? –

+0

您可能必須使用--enable-mysql或其他類似選項重新編譯PHP。或者,您可以使用[dl](http://php.net/manual/en/function.dl.php)函數。 –

0

該錯誤的原因可能如下:

在配置文件中指定了錯誤的服務器數據庫訪問詳細信息。 配置文件沒有讀取權限。爲文件提供讀取權限。