2013-04-11 251 views
0

這裏是我的代碼PHP無法連接到MySQL數據庫

$db_handle = mysql_connect('127.0.0.1', 'root', '123456'); 
    if(!$db_handle) 
     die(mysql_error()) 

當我調試的代碼只是得到了一個頁面,「此頁無法顯示」,並彈出消息從netbean說「套接字異常發生」,任何人都可以幫忙嗎?感謝

編輯 新代碼:

$db_handle = new PDO('mysql:host=localhost;dbname=test','admin','123456'); 
    if($db_handle) 
     echo 'connected'; 

它的工作原理,但mysqli的沒工作,要麼

+2

你不應該使用'mysql_ *'功能。你應該使用'PDO'對象或'mysqli'函數。 – christopher 2013-04-11 18:20:31

+0

此外它是一個非常非常非常非常非常非常糟糕的想法連接作爲根。 – 2013-04-11 18:21:25

+0

是你的mysql設置使用tcp連接嗎?通常它不是,並且只默認本地unixdomain套接字。 – 2013-04-11 18:21:50

回答

1

請停止使用mysql_query新的項目,使用庫MySQLi或PDO

這裏是一個樣本:

mysqli = new mysqli($host, $user, $dbpassword, $database); 
if (mysqli_connect_errno()) 
{ 
    printf("Connection failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
+1

我說-1缺少db名稱。它是一個**可選**參數。但推動mysqli/pdo彌補了這一點。 – 2013-04-11 18:22:47

+0

我試過你的代碼也得到了同樣的錯誤。有沒有可能代碼是好的,因爲頁面甚至沒有顯示連接錯誤,也許一些配置錯了?我檢查了mysql工作臺,連接方法是標準的(TCP/IP) – pita 2013-04-11 18:35:12

+0

您確定端口已設置,數據庫正在運行並且沒有防火牆規則塊連接嗎? – Fabio 2013-04-11 18:40:44

0

$ db_handle = new PDO('mysql:host = localhost; dbname = test','admin','123456'); if($ db_handle) echo'connected';