我正在通过 url 从 android 向 php 发送两个数组列表,例如 [P,Q,R,S,T,U,V] 和 [A,B,C,D,E,F,G]。更新时 [P,Q,R,S,T,U,V] 被 [A,B,C,D,E,F,G] 替换并且更新正确进行。但是在mysql数据库中更新第一行即A正在正确更新,并且从第二行即B到G每次更新它最初在每行的开头获得额外的空间
Before update After update1 After2nd update
P A A
Q B B
R C C
S D D
T E E
U F F
V G G
我试试这段代码
<?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");
foreach ($old_menu_names as $key => $old_name)
{
$new_name = mysql_real_escape_string($new_menu_names[$key]);
$old_name = mysql_real_escape_string($old_menu_names[$key]);
mysql_query("UPDATE `test` SET `menuname` = '$new_name' WHERE menucode = '$old_name'")
or die('Error' . mysql_error());
echo "Updated";
}
?>