duanbi6522 2013-09-10 13:18
浏览 13
已采纳

php UPDATE表一行一行

I would like to update one table from another. I am SELECTing data from one table:

 $result2 = mysql_query ('SELECT * FROM pages_language_overlay WHERE sys_language_uid = 1', $con);

And now I would like to update multiple tables row by row with selected data:

 while ($row2 = mysql_fetch_array($result2)){

 $updatepowerfields = "UPDATE tx_powermail_fields SET tstamp='$row2[11]' WHERE    sys_language_uid = 0";
 mysql_query($updatepowerfields,$con);



 $updatepowerfieldsets = "UPDATE tx_powermail_fieldsets SET pid='$row2[0]',  tstamp='$row2[11]', crdate='$row2[12]', cruser_id='$row2[13]', 
 t3ver_oid='$row2[2]', t3ver_id='$row2[3]', t3ver_wsid='$row2[4]',    t3ver_label='$row2[5]', t3ver_state='$row2[6]', t3ver_stage='$row2[7]',    t3ver_count='$row2[8]', 
 t3ver_tstamp='$row2[9]', t3_origuid='$row2[10]', deleted='$row2[19]',   hidden='$row2[16]', starttime='$row2[17]', endtime='$row2[18]', title='$row2[15]'
                        WHERE sys_language_uid = 0";
 mysql_query($updatepowerfieldsets$con);            

 }              

It works, but not how I was expecting. In first iteration of "while" it just rewrite whole table with one row. I need to update those tables row by row. What am I doing wrong? Can you please help me? Thank you

  • 写回答

1条回答 默认 最新

  • dongwu4834 2013-09-10 13:31
    关注
    while ($row2 = mysql_fetch_array($result2)){
        for($i = 1; $i <= sizeof($row2); i++) {
            mysql_query("update fld_name = $row2[i] where $id = '$i'");
        }
    }
    

    actually you don't need while loop as only one row is fetched!! Hope that helps.!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)