PHP MYSQL中,如何获取未知列数的数据集?
while($row=mysql_fetch_array($result)){echo"<tr>";$i=0;$length=count($row);while($i<$...
while($row = mysql_fetch_array($result))
{
echo "<tr>";
$i=0;
$length=count($row);
while($i < $length)
{
echo "<td>" . $row[$i] . "</td>";
$i++;
}
echo "</tr>";
}
echo "</table>";
//上面这样做会出现一个问题:每次$row长度都是其数据表列数的两倍。
//例如一个表中只有两列:姓名与年龄,结果$row长度却显示为4。
//请问这是怎么回事?该如何正确显示位置列数的$row呢? 展开
{
echo "<tr>";
$i=0;
$length=count($row);
while($i < $length)
{
echo "<td>" . $row[$i] . "</td>";
$i++;
}
echo "</tr>";
}
echo "</table>";
//上面这样做会出现一个问题:每次$row长度都是其数据表列数的两倍。
//例如一个表中只有两列:姓名与年龄,结果$row长度却显示为4。
//请问这是怎么回事?该如何正确显示位置列数的$row呢? 展开
展开全部
$row = mysql_fetch_array($result);
$i=0;
foratch($row as $val){
echo $val;
$i++;
}
$i=0;
foratch($row as $val){
echo $val;
$i++;
}
追问
这种方法并不行。主要问题在于mysql_fetch_array函数返回的数组比mysql_fetch_row多一倍空值。为什么会这样?
追答
mysql_fetch_array
是返回数值数组和键名数组,同时的!
多一倍是正常的
比如有有一个字段名是:name,值是123
那么这个函数返回的数组就是:
Array{
[0] =123
[name] =123
}
看出来了吧,其实键名0和name是一回事,但返回的数组个数就是2个
要解决这个问题,就不要用
mysql_fetch_array
换成:
mysql_fetch_assoc()
附注:
php mysql函数:
mysql_fetch_array() 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
mysql_fetch_assoc() 从结果集中取得一行作为关联数组。
我是不是很罗嗦啊?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |