PDO中的isError和工厂方法?

时间:2012-02-15 17:47:49

标签: php pdo mdb2

我们在PHP PDO中也有类似的方法吗?

我们在Pear mdb2中有isError()和工厂方法。

PEAR::isError($result)
MDB2::factory

我们在PHP PDO中也有类似的方法吗?

1 个答案:

答案 0 :(得分:0)

  

我们在PHP PDO中也有类似的方法吗?

不完全没有。

根据how you've configured PDO error handling,您将从返回错误的内容中获取false,否则您将获得异常。如果您关闭了异常处理,则可以在获得false之后检查PDO::errorCode。这很快就会变得非常混乱。例外是这里的最佳做法。

PEAR的PEAR::isError()方法是在PHP4中出现的,当时PHP没有例外。这充其量只是一种丑陋的解决方法。

至于工厂,这里没有必要。 MDB2是用工厂设计的,因为它可以与之交谈的每种数据库类型实际上都是不同的类。使用PDO,您可以将数据库类型定义为构造函数的一部分,并始终返回PDO对象,而不是子类。