for($i = 0; $i < $numrows;$i++)$i的值从1开始!

解决方案 »

  1.   

    for($i = 0; $i < $numrows; ++$i)
    中++$i表示先加1
    也就是进入循环体时$i已经为1了,应写作
    for($i = 0; $i < $numrows; $i++)
      

  2.   

    同意xuzuning的看法。
    数组排序默认是从0开始的。也就是说你要得到的值分别是$m_model[0]和$m_model[1],而你程序中使用++$i,就是从1开始做循环,漏掉了$m_model[0]这一项。
      

  3.   

    不会啊,我连续加了10条结果还是加最后一个进数据库,全部程序,如下
    <!-- 版权所有 139.net 作者 Alex Mail:[email protected]
    <?php
    if ($m_model!=""){
      $handle=ora_logon("m111@1111","1111") or die;
      $cursor=ora_open($handle);
      ora_commitoff($handle); 
    $query = "SELECT * FROM zypt_mobile";
      ora_parse($cursor, $query) or die;
      ora_exec($cursor);$numcols = 1;
    while(ora_fetch($cursor)) {
        $numcols = ora_numcols($cursor);
        for ($column=1; $column < $numcols; $column++) {
            $data = trim(ora_getcolumn($cursor, $column));
            if($data ==  "") $data = "NULL";
           
        }
       
    }
    $id = ora_numrows($cursor);$numrows=count($m_model); 
    for($i = 0; $i < $numrows; $i++)

    $id++;
    $m_time=date("Ymd ");
    $query="insert into zypt_mobile(m_model,m_code,m_color,m_price,m_tsendshop,m_time,m_available,m_salespeople,m_bz,id,m_sendshop) 
       values( '$m_model[$i]','$m_code[$i]','$m_color[$i]','$m_price[$i]','$m_tsendshop[$i]','$m_time','$m_available[$i]','$m_salespeople[$i]','$m_bz[$i]','$id','销售部')";
    echo $query;
    }    
      
     ?>
    <font size="2">添加成功...</font> 
    <meta http-equiv="refresh" content="1000;URL=add.php">
    <?
      ora_parse($cursor, $query) or die;
      ora_exec($cursor);  ora_close($cursor);
      ora_logoff($handle);  
      }else { 
    echo "<a href=javascript:history.go(-1)><img src=\"../images_xs/go_back.gif\" width=\"130\" height=\"40\" border=0></a>";
    ?>
    <?php
    }
    ?>
      

  4.   

    你应该把mysql_query($query)加入循环体啊
      

  5.   

    wfootboy(笨笨) ,人家用的是oracle,不是mysql!!!将你的echo $query换成Ora_Commit($query)或者Ora_Exec($query)试试,偶没用过Oracle,只是这样理解的,希望能帮到你。:)