【问题标题】:php connect to mysqlworkbench localhostphp 连接到 mysqlworkbench 本地主机
【发布时间】:2013-09-23 14:05:08
【问题描述】:

我有一台装有 OSX 10.8.4 的 Mac。我已经安装了我的本地主机,它工作得很好。我制作了一个 php 脚本,我想从那里连接 MySQL 工作台数据库。我的 apache tomcat 服务器运行,计算机上还有 mysql,我使用 XAMPP。这是我的代码:

    <?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 服务器,它工作正常,但我无法将它用于我的本地主机。我还尝试将 localhost 放入新的 PDO 中,但仍然相同。有人知道出了什么问题吗?

最好的问候 疯子

【问题讨论】:

  • 您检查端口号以及更改主机了吗?您本地的 MySql 服务器是否有您需要的用户名和密码?
  • MySQL Workbench 不是数据库管理系统。 MySQL 是。
  • 你确定 mysql 正在你的本地主机上运行吗?

标签: php mysql localhost


【解决方案1】:

如果您回显抛出的异常,您将更容易知道什么是不工作的。

你的代码

} 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;
}

这至少会给你一些有用的调试信息。

【讨论】:

  • 非常感谢您的快速回答。现在我的代码出现此错误:错误 - 与数据库的连接失败:找不到驱动程序
  • 这应该可以解决问题: setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->exec('SET NAMES "utf8"');回声“连接!”; } catch (PDOException $e) { $error = 'ERROR - 连接数据库失败:'。 $e->getMessage();回声$错误;出口(); } ?>
  • hm 无论如何它都不能解决问题,所以如果有人仍然有想法我会喜欢它:-)
  • 您可能需要在您的 php.ini 中启用此功能。在 XAMPP 控制面板中,单击 Apache 模块的“配置”按钮,然后单击“PHP(php.ini)”。搜索包含类似;extension=php_pdo_mysql.dll 的行并删除;。然后保存该文件,然后重新启动 apache。注意:我在 Windows 上运行 xampp,所以显然您不会在 mac 上搜索 .dll ——而是查找与 pdo_mysql 相关的行,然后取消注释。
  • 不是所有人都使用xampp .l 需要和php.ini 一起使用,因为我是手动安装的
猜你喜欢
  • 2015-08-23
  • 2020-09-04
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 2015-06-26
  • 2013-12-24
  • 2014-11-06
  • 2014-02-24
相关资源
最近更新 更多