0

我正在尝试从 php 文件中获取值。

我有一个这样的java文件

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)));
}

这里, 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);
}

它在数据库中插入""(空)值请帮助我。

4

1 回答 1

2

编辑:现在你已经删除了你的php代码,所以下面的内容没有多大意义......


如果您在 html 表单中使用基于数组的字段名称,例如

然后在提交表单时[]不会出现在 $_POST 数组中相反,$_POST['foo']成为输入到这些表单字段中的各种值的子数组。

这意味着

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

几乎可以肯定是一个未定义的数组键,返回 a NULL,然后将其附加到$arr数组中。您遍历 $arr 并插入值,但只插入那个空值。

试试,简单地说:

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

注意转义函数的使用。您的代码极易受到SQL 注入攻击,并且会使您的服务器完全受到远程攻击。

于 2012-11-16T17:54:16.537 回答