2013-09-23 122 views
0

我有一個Mac OSX 10.8.4。我已經安裝了我的本地主機,它工作得很好。我已經做了一個PHP腳本,我想從哪裏連接MySQL工作臺數據庫。我的apache tomcat服務器運行,並且還在電腦上運行mysql,並使用XAMPP。這是我的代碼:php連接到mysqlworkbench本地主機

<?php 

// Establish connection to DB using PDO 
try { 
    $pdo = new PDO('127.0.0.1:3306', 'root', ''); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $pdo->exec('SET NAMES "utf8"'); 
    echo "Connected!"; 
} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo "Connection failed"; 

    exit(); 
} 

我已經試過此腳本來連接到遠程MySQL服務器,它工作正常,但我不能用它爲我的本地主機。我也試過把本地主機放在新的PDO中,但仍然是一樣的。有人有什麼錯誤的線索嗎?

問候 的Mads

+0

您是否檢查端口號以及更改主機?你的本地MySql服務器是否有你需要的用戶名和密碼? – Hbcdev

+1

MySQL Workbench不是數據庫管理系統。 MySQL是。 – BlitZ

+0

你確定mysql在你的本地主機上運行嗎? –

回答

0

你可以更輕鬆地知道什麼是不工作的,如果你正在呼應拋出的異常。

您的代碼

} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo "Connection failed"; 
} 

實際上不打印例外!試試這個:

} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo $error; 
} 

這將至少給你一些有用的調試信息。

+0

非常感謝您的快速回答。現在,我得到這個錯誤與您的代碼: 錯誤 - 連接到數據庫失敗:找不到驅動程序 – McDuck4

+0

這應該解決的問題: setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION); $ pdo-> exec('SET NAMES「utf8」'); 回聲「連接!」; } catch(PDOException $ e){ $ error ='錯誤 - 連接到數據庫失敗:'。 $ E->的getMessage(); echo $ error; exit(); } ?> – McDuck4

+0

hm無論如何它都可以解決問題,所以如果有人仍然有一個想法,我會喜歡它:-) – McDuck4