mysql 命令 init_php – PDO:PDO :: MYSQL_ATTR_INIT_COMMAND中的多个命令

我正在使用此PDO连接:

try{

$db=new PDO("

mysql:host=localhost;

dbname=...",

"dbu...",

"pass",

array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET lc_time_names='de_DE'"));

}

catch(PDOException $e){die("Error!");}

现在我想添加另一个init命令:

array(

PDO::MYSQL_ATTR_INIT_COMMAND => "SET lc_time_names='de_DE'",

PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"

)

但看起来utf8-one覆盖了第一个init命令.

所以我试过这个,但也没有成功:

array(

PDO::MYSQL_ATTR_INIT_COMMAND => array("SET lc_time_names='de_DE'","SET NAMES utf8")

)

知道如何发送不止一个init命令吗?

谢谢!

解决方法:

正确的语法是:

array

(

PDO::MYSQL_ATTR_INIT_COMMAND

=>

"SET lc_time_names='de_DE',NAMES utf8"

)

所以,不是多个数组,而是使用逗号作为分隔符并且不重复SET的字符串.

A SET statement can contain multiple variable assignments, separated by commas.

标签:php,pdo

来源: https://codeday.me/bug/20190713/1453469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值