$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',消息为'in 第21行的D:\ wamp \ www \ test.php 21它是创建新PDO对象的一条线。
好的,我试图捕捉异常(抱歉,这对我来说是新的),现在我有了这个:
错误!:SQLSTATE [HY000] [2002]
请帮帮我吗?
双引号没有帮助
$dbh = new PDO("mysql:host=$host;dbname=newdb", $user, $pass);
没有任何改变。
的var_dump( 'MySQL的:主机=' $主机 '; DBNAME = NEWDB');
string'mysql:host = xx.xx.xxx.xxx; dbname = newdb'(length = 37)
使用{}的方式对我没有帮助。
好的,情况变得清晰了。我尝试连接另一台IP上的另一台服务器,它通常是连接的。它可以是mysql服务器安全选项吗?
答案 0 :(得分:1)
试试这种方式
$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