我最近开始使用PHP并且对编程很新。我正在使用PDOStatement对象,并希望更好地理解其数据结构。如果我在对象上执行print_r,则输出似乎已分配给属性“queryString”的查询:
object(PDOStatement)#2 (1)
{
["queryString"]=> string(5129) "SELECT..."
}
但是,查询的结果集根本不会输出。我想知道如何在源代码中定义对象,并希望更好地理解结果集如何存储在对象中,所以我下载了PHP 5.4.11源代码。我发现了我认为是PDOStatement的源代码,而且,我只是说在尝试阅读源代码后我不再进一步。
有人可以帮我理解结果集是如何存储的,为什么不通过print_r输出,如果你碰巧知道它在源代码中的位置,请验证pdo_stmt.c是否是正确的源代码文件。我知道PDOStatement实现了Iterable,它扩展了Traversible,PDOStatement可以通过foreach循环进行交互,但我希望能够至少在以下术语中理解该对象:
“我创建一个PDO对象并调用'query'方法(传入查询),该方法返回一个PDOStatement,查询存储在其”queryString“属性中,结果集存储在 _中 _ 属性。由于结果集存储为 _ ___ ,因此不会通过print_r输出,但可以通过foreach循环访问或结果集可以通过fetchAll()导出到数组...结果集的数据结构存储在PDOStatement中最类似于[多维数组...或者它恰好是什么......]等等等等等等等等等等......“
请帮忙。