【发布时间】:2014-09-12 12:49:12
【问题描述】:
制作了一个测试脚本:
<?php
$a = new PDO('mysql:dbname=mydbname;host=mydbhost:3306', 'myusername', 'mypassword');
var_dump($a);
我收到以下错误:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2005] Unknown MySQL server host 'mydbhost:3306' (107)' in /users/pvarney/test_pdo.php:3 Stack trace:
#0 /users/pvarney/test_pdo.php(3): PDO->__construct('mysql:dbname=my...', 'myusername', 'mypassword')
#1 {main} thrown in /users/pvarney/test_pdo.php on line 3
然后通过 CLI:
[pvarney@ci-server ~]$ mysql mydbname -h mydbhost -u myusername -p --port=3306
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 828511
... snip mysql welcome text ...
mysql>
我已更改连接字符串以屏蔽连接信息,但我确实将其复制粘贴到 CLI 中以确保没有任何拼写错误。
【问题讨论】:
-
host=mydbhost;port=3306 -
你能试试这个吗?
new PDO('mysql:host=mydbhost;port=3306;dbname=mydbname', 'myusername', 'mypassword'); -
谢谢大家。奇怪的是,我的连接字符串在 5.4 中有效,但在 5.3 中无效。