将 ArrayList 更新到 MySQL 数据库到 PHP 时出错


error while updating arraylist to the mysql database to php

我可以发送两个数组列表Android到PHP

                      [p,q,r,s,t,u](old menuname)
                      [a,b,c.d,e.f](new menunames)

我有测试表中的测试表包含一列菜单名称,它可以正确更新。 现在我添加另一列作为菜单图像,我可以将菜单图像(blob)插入到MySQL数据库中的菜单图像列中。 现在我想执行更新菜单名称意味着它只更新第一行。 其余行不会更新。

      i try this code
      <?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++;
    }

?>

我可以打印此行的响应是回显$new_name; 回显"已更新"; a已更新 b已更新 c'

已更新 d已更新 e已更新 f已更新

但只有第一个更新 剩余行不会更新

嗯...

您的正则表达式中可能存在错误。

在 foreach 之前转储 $old_menu_names 变量。

print_r($old_menu_names);