php连接docker运行的mysql,显示 (HY000/2002): Connection refused

php要连接docker中运行的mysql是不能用localhost 或 127.0.0.1来连接的,因为每个docker运行容器的localhost 和127.0.0.1都是自己容器本身,不是mysql容器,需要修改成母机 IP,或者是mysql容器名称

$dbms='mysql';     //数据库类型
$host='xy_mysql'; //数据库主机名,在docker中,xy_mysql是我的mysql容器的别名
$dbName='test';    //使用的数据库
$user='root';        //数据库连接用户名
$pass='xy123456';   //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try {
    $con = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    $con->query('SET NAMES UTF8');
    $res =  $con->query('select * from user');
    while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
        echo "id:{$row['id']} name:{$row['name']}";
    }
} catch (PDOException $e) {
     echo '错误原因:'  . $e->getMessage();
}

参考:
https://blog.csdn.net/weixin_41282397/article/details/82994370

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值