我可以发送两个数组列表android到php
[p,q,r,s,t,u](old menuname)
[a,b,c.d,e.f](new menunames)
我在该表中有测试表包含一个正确更新的列名称。现在我添加另一列作为menuimage我可以将menuimages(blob)插入mysql数据库的menuimage列。现在我想要执行更新menunames意味着它只更新第一行。剩余的行不会更新。
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++;
}
&GT;
我可以打印此行的响应是echo $ new_name; echo“更新”; aUpdated bUpdated c \ n已更新dUpdated eUpdated fUpdated
但只有第一个更新的剩余行未更新
答案 0 :(得分:0)
嗯......
正则表达式可能有错误。
在foreach之前转储$ old_menu_names变量。
print_r($old_menu_names);