【发布时间】:2012-09-14 04:14:45
【问题描述】:
我想创建一个数组然后通过 JSON 编码,现在我根据列名手动命名数组元素,如果它的列数很少,但如果它是 1000 列。有没有办法自动命名数组元素?
现在:
$resulta = mysql_query("SELECT bla,bla1bla2 from ...");
$toEncodeArray = array();
if($resulta)
{
while($columna = mysql_fetch_array($resulta))
{
$toEncodeArray[] = array(
"bla" => $columna['bla'],
"bla1" => $columna['bla1'],
...
);
}
}
想要类似的东西:
while($columna = mysql_fetch_array($resulta))
{
$toEncodeArray[] = array(<same name as column> => $columna[<iterate columns?]);
}
仅使用 $columna = mysql_fetch_array($resulta) 然后对 $columna 进行编码会给我带来垃圾。
提前致谢。
【问题讨论】:
-
请不要使用
mysql_*函数编写新代码。它们不再维护,社区已经开始deprecation process。看到red box?相反,您应该了解prepared statements 并使用PDO 或MySQLi。如果你不能决定哪一个,this article 会帮助你。如果你选择 PDO,here is good tutorial. -
如果您有一个包含一千列的数据库表,那么您做错了。
-
@vascowhite 我从哪里得到一个消息来源,告诉我给定的表 X 应该最多只有 N 列?找到一个固定的数字会很有趣,你应该只有“24”列,或者“99”或“43”,我的意思是“哪里”开始太多变成一个非常主观的情况,取决于问题本身。正如我明确指出的,这是一个 1000 的假设。
标签: php mysql arrays json encode