奇怪的问题 - 我有一个数据库类的实时副本(使用PDO)工作正常.我在我的机器上有一个使用WAMPServer的副本,但没有.
连接字符串如下(类的片段):
$host = 'localhost';
$user = 'user';
$pass = 'password';
$dbname = 'my_dbname';
self::$_instance = new PDO('mysql:host=$host;dbname=$dbname', $user, $pass);
Run Code Online (Sandbox Code Playgroud)
我得到的错误消息是:
Warning: PDO::__construct() [pdo.--construct]: php_network_getaddresses: getaddrinfo failed: No such host is known. in <path> on line 41
Warning: PDO::__construct() [pdo.--construct]: [2002] php_network_getaddresses: getaddrinfo failed: No such host is kn (trying to connect via tcp://$host:3306) in <path> on line 41
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不在本地工作而在线它很好.如果我将线本身改为下面,它可以正常工作:
self::$_instance = new PDO('mysql:host=localhost;dbname=my_dbname', $user, $pass);
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
Dan*_*elB 10
使用双引号,new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);否则变量不会插入到字符串中.另一种方式可能是
new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass);
Run Code Online (Sandbox Code Playgroud)