我以某种方式理解mysqli_fetch_row
,mysqli_fetch_object
,mysqli_fetch_assoc
和mysqli_fetch_array
之间的差异。
我的问题是它们是否如此相似(如果它们与许多主题实际上几乎相同)我们应该使用哪些? 我们为什么要使用首选的,并且有一些性能差异?
我读过一些人说永远不要使用mysqli_fetch_array。我很迷惑。我现在正在阅读一些PHP书籍,所有的例子都包括它。如果这是不正确的,我最好在锻炼时停止使用它并使用其他你可以解释和推荐的东西吗?
我还读到这些是平等的:
mysqli_fetch_array( $result, MYSQLI_ASSOC ) = mysqli_fetch_assoc( $result )
mysqli_fetch_array( $result, MYSQLI_NUM ) = mysqli_fetch_row( $result )
mysqli_fetch_array ( $result ) = mysqli_fetch_assoc( $result ) + mysqli_fetch_row( $result )
如果它们与概念相同,是否存在性能差异?我们应该使用哪个?差异是为了获得更好的编程习惯,以帮助开发人员一起使用以便于工作吗?
我读过“首先PHP和MySQL(一个关注大脑的指南)”和“可视化快速指南PHP 5高级”。他们使用不同的做法,但作者没有解释他们的任何事情。
我坚信这些差异有很大的原因,它们有不同的用法和案例,但我找不到在哪里使用不同的功能和语法。
非常感谢你!
答案 0 :(得分:1)
php.net上的文档中的这些行是关键:
mysqli_fetch_array()是mysqli_fetch_row()的扩展版本 功能。除了将数据存储在数字索引中 结果数组,mysqli_fetch_array()函数也可以存储 关联索引中的数据,使用结果集的字段名称 作为钥匙。
http://www.php.net/manual/en/mysqli-result.fetch-array.php
在两个或多个列具有相同名称的情况下,引用该列的第一个出现的唯一方法是通过数字索引。在这些情况下,您需要mysqli_fetch_row
或mysqli_fetch_array
,其中MYSQLI_BOTH
或MYSQLI_NUM
为其第二个参数(在程序用法中)。
mysqli_fetch_assoc($result)
只是mysqli_fetch_array($result, MYSQLI_ASSOC)
的缩写。
mysqli_fetch_object
完成您的期望:它返回一行结果作为对象。在mysqli_fetch_assoc
上使用此问题取决于对象或数组是否更好地代表正在处理的记录。对象可以是你想要的任何类 - stdClass是默认的。
答案 1 :(得分:0)
我认为没有太大的区别,只是你只需要一个功能来做同样的事情;)
答案 2 :(得分:-2)
以下是一些应该回答您问题的参考资料: mysqli_fetch_row, mysqli_fetch_assoc, mysqli_fetch_object, mysqli_fetch_array
一般情况下,PHP Documentation似乎是一个很好的资源。