我可以发送两个数组列表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);