size_of返回错误的答案

Nam*_*mit 1 php mysql

我正在使用php从mysql表中获取一些数据.该表返回正确的结果,但因为该表有很多列,我认为我可以为此创建一个for循环并保存我的所有值val1,val2等等.我首先使用while循环,因为可以有几行:

while($row1 = mysql_fetch_array($sql2)){
    for($i = 1; $i < sizeof($row1); $i++) {
        $val.$i = $row1[$i];
    }
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,sizeof($ row1)返回40而我在该表中只有18列.

我认为$val.$i = $row1[$i];不是声明变量的正确方法?

我知道我会犯一个愚蠢的错误,但我无法弄清楚.:S

web*_*ave 6

您需要指定结果类型:

mysql_fetch_array($sql2, MYSQL_NUM);
Run Code Online (Sandbox Code Playgroud)

手册:

通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组.