2014-03-30 189 views
0

所以我安裝了WAMP和一個mysql數據庫(不使用wamp自帶的數據庫)。我可以從MySql Workbench連接到服務器,但不能從php頁面連接。他們都在同一臺機器上和腳本如下所示:php沒有連接到mysql數據庫

<?php 

/** 
* A class file to connect to database 
*/ 
class DB_CONNECT 
{ 

    // constructor 
    function __construct() 
    { 
     // connecting to database 
     $this->connect(); 
    } 

    // destructor 
    function __destruct() 
    { 
     // closing db connection 
     $this->close(); 
    } 

    /** 
    * Function to connect with database 
    */ 
    function connect() 
    { 
     // Connecting to mysql database 
     $con = mysql_connect("127.0.0.1:3306", "userMan", "passDoor") or die(mysql_error()); 

     // Selecing database 
     $db = mysql_select_db("testdb") or die(mysql_error()); 

     // returing connection cursor 
     return $con; 
    } 

    /** 
    * Function to close db connection 
    */ 
    function close() 
    { 
     // closing db connection 
     mysql_close(); 
    } 
} 

?> 

該行:

$con = mysql_connect("127.0.0.1:3306", "userMan", "passDoor") or die(mysql_error());

告訴我:

Fatal error: Call to undefined function mysql_connect() in C:\wamp\www\website\db_connect.php on line 32

它之前的工作,但現在「突然」它停止工作,有什麼想法?

UPDATE:

我試圖用mysqli的,而不是因爲mysql_ *已被棄用,所以我做到了這一點:

我找到的phpinfo使用HTE的php.ini(),並確保這些都是未註釋:

extension=php_mysql.dll 
extension=php_mysqli.dll 

我也試圖與評論激活php_mysql.dll,

我補充這我的PHP腳本,看看它是否可以工作:

if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) 
     { 
      echo 'We don\'t have mysqli!!!'; 
     } 
     else 
     { 
      echo 'Phew we have it!'; 
     } 

我的結果是「我們沒有mysqli !!!」。

我在Windows 8.1上運行wamp,php是版本5.4.12,我也檢查過php.ini中的extension_dir是否正確。

我可能會做錯什麼?

+2

請停止使用'mysql_ *'功能。他們已被棄用。 – hjpotter92

+0

我對嘗試使用mysqli的問題進行了更新。 – jt123

+1

我通過卸載wamp並手動安裝apache + php來解決這個問題。 – jt123

回答

2

您的mysql驅動程序未加載。在php.ini中取消註釋extension=php_mysql.dll。另外我建議你使用mysqliPDO。您正在使用已棄用的。

爲了找到php.ini位置,你可以使用php --ini在命令行

+0

好吧,我進入php.ini並執行此操作:'extension = php_mysql.dll' 和'extension = php_mysqli.dll',然後檢查是否具有這樣的mysqli擴展名:if(!function_exists('mysqli_init ')&&!extension_loaded('mysqli'))'它告訴我,我沒有它。之後我也做了重啓。我確保dll文件存在於extension_dir =「c:/wamp/bin/php/php5.4.12/ext/」 – jt123

+0

如果它存在,請在最後刪除註釋。沒有,添加它 –