解决办法“SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known”

$host = '127.0.0.1';
$dbname = 'xxxx';
$username = 'xxxx';
$password = 'xxxx';

$dsn = 'mysql:host=$host;dbname=$dbname;port=3306;charset=utf8';

在$dsn这种写法中,字符串两头是单引号,而字符串中间的变量所被赋的值两头也是单引号,这就引发了问题。

解决方法:把$dsn字符串两头的单引号改成双引号

通过调整这五个变量的单双引号,发现有如下结果:

单套双:bad
单套单:bad
双套双:ok
双套单:ok

看来,变量还是用双引号引起来比较好。

之后翻看了一下php的文档,里面写道,单引号字符串里面的变量是不会extended的!所以这就是错误的原因。

网上那些让你排查这排查那都是扯淡浪费时间。写出来献给大家。

猜你喜欢

转载自blog.csdn.net/K8001/article/details/127779313
今日推荐