PDO :: fetch_assoc和fetch_object的区别以及何时最佳使用

时间:2019-02-12 14:14:44

标签: php pdo

我环顾四周,似乎找不到任何好的线索或说明,以及有关何时使用或不使用PDO::FETCH_ASSOCPDO:: FETCH_OBJECT的示例,我总是使用{{1 }}在获取用户名等时,何时才适合使用对象呢?或相反亦然。我已经检查过PHP manual,但是如果有人可以提供示例说明,我仍然很努力地将其包裹住,

谢谢

2 个答案:

答案 0 :(得分:1)

默认情况下,pdo fetch和fecthAll允许使用2种方式的assoc和object。 当您的列名在ascii之外有空格或其他字符时,我们应该使用assoc而不是对象$row['the name'];而不是$row->the name(这会导致错误)。 或像$row->colômn // cause error。 我认为这就是我们应该使用的原因

答案 1 :(得分:1)

最简单的答案是,如果您需要对象语法,就可以知道!基本上,在您想将数据库中的行视为具有属性的对象的情况下,fetch_object方法为您提供了一种方便的创建方式。

现在为什么要?它是“对象-关系映射”的一种简单形式,是处理从数据库移入和移出的数据的常用方式。让我们从另一端开始:假设您已经有一些带有属性的对象,并且想要将它们持久化到数据库中。然后,您将声明一个表来保存对象实例,每个属性带有一列,然后再使用此方法读回对象。