我发送两个数组列表,例如[P,Q,R,S,T,U,V]和[A,B,C,D,E,F,G]从android到php通过url。在更新[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";
}
?>
答案 0 :(得分:0)
mysql_query("UPDATE `test` SET `menuname` = ltrim('$new_name') WHERE menucode = '$old_name'")
or die('Error' . mysql_error());
答案 1 :(得分:0)
无论你传递变量只是修剪变量然后传递给查询。喜欢
$ name_new =修剪($名);
trim函数将删除左侧空格以及右侧空格。所以最好只选择修剪而不是ltrim。 感谢