我有麻烦了。我正在尝试将远程 mysql 服务器与 pdo (php 5.4.12( 连接。使用此代码,它可以正常连接:
$dbh=new PDO('mysql:host=xxx.xxx.xxx.xxx;dbname=newdb', $user, $pass);
但是,如果我尝试使用变量设置主机,如下所示:
$host='xxx.xxx.xxx.xxx';
$dbh=new PDO('mysql:host='.$host.';dbname=newdb', $user, $pass);
只是想了想,告诉我:
好的,我致命错误:未捕获的异常"PDOException",消息为 D:''wamp''www''test.php 在第 21 行 21 这是创建新的PDO对象的行。
正在尝试捕获异常(对不起,这对我来说是新的(,现在我有了这个:
错误!: SQLSTATE[HY000] [2002]
你能帮帮我吗?
双引号无济于事
$dbh = new PDO("mysql:host=$host;dbname=newdb", $user, $pass);
什么都没有改变。
var_dump('mysql:host='.$host.';dbname=newdb'(;
字符串 'mysql:host=xx.xx.xxx.xxx;dbname=newdb' (length=37(
{}的方式对我没有帮助。
好的,情况变得清晰起来。我尝试在另一个IP上连接另一台服务器,它通常已连接。它可以是mysql服务器安全选项吗?
试试这种方式
$host = "xxx.xxx.xxx.xxx";
$dbh = new PDO("mysql:host={$host};dbname=newdb", $user, $pass);
双引号和大括号将 var 包含在字符串中,如下所示http://www.php.net/manual/en/language.operators.string.php