这些功能都非常相似:
mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()
使用mysql_fetch_object因为我用PHP做很多更OOP我最近已经开始。
但什么是人民的意见在哪一个是最好用,为什么,也许他们是最好使用哪种方案。
感谢您的想法!
这些功能都非常相似:
mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()
使用mysql_fetch_object因为我用PHP做很多更OOP我最近已经开始。
但什么是人民的意见在哪一个是最好用,为什么,也许他们是最好使用哪种方案。
感谢您的想法!
mysql_fetch_array
将让你的数组,可以有任意键:
MYSQL_BOTH
MYSQL_ASSOC
-在这种情况下,你会得到你使用时,得到同样的事情mysql_fetch_assoc
MYSQL_NUM
过得去列名索引的结果可能是最有用的解决方案 - 易于使用,至少。
但要由SELECT子句中的字段的位置索引的结果是在一个situtation有趣:当你有一个具有相同的名称或别名多列。
在这种情况下,你不能有两个条目在一个阵列相同的索引,你将能够访问仅使用列名作为索引这些列中的一个。
对于具有相同名称的其他列,你将不得不使用数字索引。
这种情况可能是针对我会使用的唯一情况mysql_fetch_array
-我宁可选择使用化名在我的查询,以避免这种情况-它更清楚,在我看来。
mysql_fetch_assoc
将让你的数组,其中列名作为键和数据值。
不多说了,其实。
和mysql_fetch_object
将让你objetcs的回报。
之间进行选择mysql_fetch_assoc
和mysql_fetch_object
最有可能取决于你如何开发应用程序:如果使用对象无处不在,第二个可能是最合适的。
如果使用数组作为数据的容器,你可以去的第一个。
mysql_fetch_array()取入结果一行作为关联阵列,数字数组,或两者。 如果没有更多的行,它返回一个字符串数组对应于所提取的行,或FALSE。 该类型返回数组的依赖于$ result_type的是如何定义的。
通过使用MYSQL_NUM,你只能得到一些指数(如$行[0],$行1等),即数字阵列。
通过使用MYSQL_ASSOC,你只得到关联索引(如$行[“身份证”],$行[“名称”],等等),即关联数组。
通过使用MYSQL_BOTH(默认),你会得到与两个关联和数字索引。 (如$行[0],$行[ “名称”],等),即,两个数字阵列和关联数组。
mysql_fetch_assoc()获取的结果一行作为关联阵列。 (列名键)。
mysql_fetch_object()获取的结果行作为对象。
它返回具有对应于所提取的行属性的对象,并移动内部数据指针前进。
对我来说,有使用mysql_fetch_assoc()中,你可以使用数组功能,比如array_walk和uasort()的adantages。
简短的介绍:
mysql_fetch_assoc():这个让你的数据的关联数组。
mysql_fetch_array():这个返回关联元件的组合阵列以及与数值索引数据。
mysql_fetch_object():返回与对应于所提取的行属性的对象。
资源
假设我们有如下表
Name CountryCode ----- ---------- Bangladesh BD Pueblo USA Arvada USA
$查询=“选择名称,COUNTRYCODE从一个城市”;
$结果= mysqli_query($连接,$查询)
mysqli_fetch_object(数据可以取为对象)
while ($obj = mysqli_fetch_object($result)) { printf ("%s (%s)\n", $obj->Name, $obj->CountryCode); }
mysqli_fetch_assoc(取为关联数组即键)
while ($row = mysqli_fetch_assoc($result)) { printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]); }
mysqli_fetch_array(数值及缔合二者)
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) { printf("%s (%s)\n", $row[0], $row[1]); }
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { printf("%s (%s)\n", $row["Name"], $row["CountryCode"]); }