我正在使用 php 从 mysql 表中获取一些数据。该表返回正确的结果,但是因为该表有很多列,我认为我可以为此创建一个 for 循环并将我的所有值保存为 val1
、val2
等。我首先使用 while 循环,因为可以有几行:
while($row1 = mysql_fetch_array($sql2)){
for($i = 1; $i < sizeof($row1); $i++) {
$val.$i = $row1[$i];
}
但是由于某些原因 sizeof($row1) 返回 40 而我在该表中只有 18 列。
我认为 $val.$i = $row1[$i];
不是声明变量的正确方式?
我知道我会犯一个愚蠢的错误,但我无法弄清楚。 :S
最佳答案
您需要指定结果类型:
mysql_fetch_array($sql2, MYSQL_NUM);
来自manual :
By using MYSQL_BOTH (default), you'll get an array with both associative and number indices.
关于php - sizeof 返回错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490858/