2012-11-16 31 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

某处某事正在做一个不改变而不是推动数组?不知道。 –