使用php更新mysql数据库时的额外空格

时间:2012-04-24 10:12:31

标签: php mysql

我发送两个数组列表,例如[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";
              }
             ?>

2 个答案:

答案 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。 感谢