我想更新另一个表。我正在从一个表中选择数据:

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


现在,我想用选定的数据逐行更新多个表:

 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);

 }


它可以工作,但不符合我的期望。在“ while”的第一次迭代中,它仅用一行重写整个表。我需要逐行更新这些表。我究竟做错了什么?你能帮我么?谢谢

最佳答案

while ($row2 = mysql_fetch_array($result2)){
    for($i = 1; $i <= sizeof($row2); i++) {
        mysql_query("update fld_name = $row2[i] where $id = '$i'");
    }
}


实际上,您不需要while循环,因为只获取了一行!!希望有帮助!!

关于php - PHP UPDATE表逐行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18720039/

10-15 15:39