2013-09-23 98 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