2012-11-16 28 views
0

我想從PHP文件中獲取值。發送arraylist值,並獲取該數組值在php

我有這樣

ArrayList<NameValuePair> al = new ArrayList<NameValuePair>(); 

for (int i = 0; i < name.size(); i++) 
{ 
    al.add(new BasicNameValuePair("names["+i+"]",String.valueOf(name.get(i)))); 

    System.out.println("arr is " +String.valueOf(name.get(i)+ "arrrr"+name.get(i))); 
} 

這裏的Java文件,name是一個ArrayList。

現在我想這個名字的ArrayList被髮送到PHP和循環數組,並插入到數據庫

這是我的PHP文件

$con = mysql_connect("localhost","aaa","aa"); 
mysql_select_db("aa", $con); 

if (!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

$arr[] = $_POST['names[]']; 

foreach ($arr as $key) 
{ 
    $query="insert into Orders1(names) values('$key')"; 
    mysql_query($query); 
} 

它插入數據庫""(空)值,請幫助我。

+0

問題在哪裏?您可能無法將內容發送到PHP,或者在使用PHP或MySQL中的值時遇到問題。你不能用Java和MySQL標籤來問這個問題。縮小問題範圍。 – GolezTrol

+0

@GolezTrol我是android開發者我想發送一個arraylist值爲php並將其插入db – Goofy

+0

您的php代碼在哪裏? – intrepidkarthi

回答

2

編輯:現在你已經刪除了自己的PHP代碼,所以下面就沒有多大意義......


如果您使用的HTML表單基於陣列的字段名,例如

那麼[]出現在$ _POST數組中當窗體的提交。相反,$_POST['foo']將成爲輸入這些表單域的各種值的子數組。

這意味着

$arr[] = $_POST['names[]']; 

幾乎可以肯定是一個未定義的數組鍵,返回NULL,然後您可以追加到$arr陣列。您循環$ arr並插入值,但僅插入該空值。

嘗試,簡單地說:

foreach($_POST['names'] as $val) { 
    $v = mysql_real_escape_string($val); 
    $sql = "ISNERT INTO .... VALUES ('$v'); 
} 

注意使用轉義功能。您的代碼非常容易受到SQL injection attacks的影響,並且會使您的服務器處於全面的遠程危害。

+0

感謝這爲我工作。 – Goofy

+0

但我有一個小問題,我在我的arraylist中有1,2,3,但它插入3 2 1爲什麼如此呢? – Goofy

+0

某處某事正在做一個不改變而不是推動數組?不知道。 –