请问constant("PDO::ATTR_$attr")这里不用constant,类似(PDO::ATTR_$attr)他就不会返回常亮的值了吗?

来源:2-7 [PDO] 设置数据库连接属性

superhuman进化中

2016-08-21 14:22

请问constant("PDO::ATTR_$attr")这里不用constant,类似(PDO::ATTR_$attr)他就不会返回常亮的值了吗?

写回答 关注

1回答

  • Secg
    2016-08-24 10:38:34
    已采纳

    如果只是 PDO::ATTR_$attr 会被认为是组合字符串,所以解析会失败,可能你会对以下问题产生错误

    getAttribute(constant("PDO::ATTR_$attr")); //正确读出常量
    getAttribute(PDO::ATTR_$attr); //产生错误提示,被认为是字符串
    getAttribute(PDO::ATTR_AUTOCOMMIT); //正确读出来

    因为在PDO::ATTR_$attr 中$attr是字符串,而前面完全是一段字符而已,所以自然就成了字符串,必须使用constant读出字符串所对应的常量。

    而 PDO::ATTR_AUTOCOMMIT 早就是常量了,所以他自身可以直接地被读出来

    mixed PDO::getAttribute ( int $attribute )

    关键还是要看好函数的语法···

    superh...

    非常感谢!

    2016-08-27 11:05:02

    共 1 条回复 >

PDO—数据库抽象层

本教程主要通过实战演练深入剖析PDO以加深理解

30043 学习 · 396 问题

查看课程

相似问题