You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OOP PHP开发PDO数据库连接传入options参数报错如何解决?

错误原因

问题出在PDO构造函数的第四个参数传值逻辑:

  • 你定义的$this->options本身就是符合要求的数组类型,但是你传参时给它包裹了双引号,PHP会强制把数组转为字符串"Array",既触发了数组转字符串的警告,也因为参数类型不匹配抛出了类型错误。
  • 你前面传的用户名、密码外层的双引号也属于多余写法,只是因为这两个属性本身是字符串类型,强制套引号没有改变值类型,才没有触发报错。

修复方案

直接去掉$this->options外层的双引号即可,修改后的对应代码如下:

$this->connect = new PDO("mysql:host=$this->host; dbname=$this->database", $this->username, $this->password, $this->options);

修改后即可正常保留PDO配置项,同时不会触发报错。

内容的提问来源于stack exchange,提问作者Sibananda Sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:15:05