2015-04-22 84 views
1

两个PDO::query()PDO::prepare()返回一个PDOStatement对象对象,但两者是不同的使用:确定是否PDOStatement对象对象来源于PDO ::查询()或PDO ::准备()

  • 一个PDOStatement对象从PDO::query()准备与fetch()fetchAll()
  • 一个PDOSatement立即使用从PDO::prepare()需要与bind()运行与​​填充才可以使用fetch()

有没有一种方法可以区分来自PDO::query()的PDOSatement与来自PDO::prepare()的PDOSatement?

+1

为什么你需要? –

+0

因为我想;)那就是说...我一直在玩弄一些可以处理很多stmt对象的pdo包装器。有必要将它们分开。 – CoR

回答

0

我不完全相信你可以告诉他们分开。 PDO::prepare()PDO::query()返回一个PDOStatement对象,该对象似乎没有任何确定其来源的方法。

这就是说,debugDumpParams()函数确实在输出中包含参数计数,但您需要手动捕获并解析输出文本以获取它。

+0

我以为我错过了一些明显的东西。没关系,如果这是不可能的。我可以用其他方式标记它。谢谢。 – CoR