2012-04-13 42 views
0

我可以發送兩個數組列表的Android到PHP錯誤而更新的ArrayList到MySQL數據庫到PHP

     [p,q,r,s,t,u](old menuname) 
         [a,b,c.d,e.f](new menunames) 

我有測試表在表中包含一列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++; 
    } 

>

我可以打印該行的響應是回聲$ NEW_NAME?;回聲「更新」; aUpdated bUpdatedç\ nUpdated dUpdated eUpdated fUpdated

,但只有第一個更新的行不更新

回答

0

UMH剩餘...

有可能是在您的正則表達式的錯誤..

轉儲foreach之前的$ old_menu_names變量。

print_r($old_menu_names); 
+0

它不能打印任何東西請你可以編輯我的代碼發送給我 – Vinoth 2012-04-13 14:03:08