使用php在mysql数据库中更新数组列表中的错误

时间:2012-04-13 12:43:12

标签: php mysql arraylist

在我的数据库中测试是表,如果表只有一行menuname                      测试

                 menuname
                     x---->a
                     y---->b
                     z----->c

我发送x,y,z和a,b,c是我发送给android到php的arraylist。 a,b,c完全在mysql数据库中成功更新。

现在我将另一列作为menuimage添加到测试列

                 test
                 menuname          menuimage
                      x-->a        some image
                      y-->b           "
                      z-->c           "

我发送x,y,z和a,b.c是我发送给android到php的arraylist。仅在我的MySQL数据库中更新的剩余行不会更新。我不想更新menuimage。

我试过这段代码:

   <?php
        $old_menu_names=explode(',',preg_replace('/^.*\
        [(.*)\].*$/','$1',trim($_POST['menuname'], '[]')));

        $new_menu_names=explode(',',preg_replace('/^.*\
        [(.*)\].*$/','$1',trim($_POST['editmainmenu'], '[]')));

        mysql_connect("localhost", "root", "root");
        mysql_select_db("test");

        $i = 0;
        foreach ($old_menu_names as $key => $old_name)
        {
           $new_name = mysql_real_escape_string($new_menu_names[$i]);
           $old_name  = mysql_real_escape_string($old_menu_names[$key]);
           echo $new_name;
           mysql_query("UPDATE `test` SET `menuname` = '$new_name' WHERE menuname =   '$old_name'")
           or die('Error' . mysql_error());
           echo "Updated"; 
           $i++;
        }
   ?>

请说明为什么会出现这个问题?

0 个答案:

没有答案