php - HTTPPOST Android 到服务器

标签 php android database http-post

我正在开发一个将数据发送到服务器的程序。服务器正在接收我的数据,但只接收到最后一位。这是我的 Android 代码:

ArrayList<NameValuePair> j2 = new ArrayList<NameValuePair>();
j2.add("drink_name", "rootbeer")
j2.add("drink_name", "pepsi")

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("kubie.dyndns-home.com/R2Bar2/getingredients.php");
httppost.setEntity(new UrlEncodedFormEntity(j2));
HttpResponse response = httpclient.execute(httppost);
responseText = EntityUtils.toString(response.getEntity());

但它只是将最后一个条目(百事可乐)添加到数据库中。 这是我的 php:

 <?php 
$handle = mysql_connect('localhost','root','xxxx'); 
if($handle==false) 
{ 
die('No database connection'); 
} 

$result = mysql_query("TRUNCATE TABLE 'available_ingredients'");

$db=mysql_select_db('r2bar2'); 
$query='INSERT INTO available_ingredients (drink_name) VALUES ("'.$_POST["drink_name"].'")'; 
$result=mysql_query($query); 
?>

最佳答案

试试这个

j2.add(new BasicNameValuePair("drink_name[]", "rootbeer"));
j2.add(new BasicNameValuePair("drink_name[]", "pepsi"));

您在实体中放入的是一个 NameValuePair 列表 - 因此您添加的每个内容都应该是一个 NameValuePair,而 BasicNameValuePair 就是其中之一

在 PHP 中

<?php
foreach ($_POST["drink_name"] as $drink_name) {
    $query=...
    $result=...
}
?>

但请注意 - 请确保在输入上调用 mysql_real_escape_string 以防止 SQL 注入(inject)攻击。

关于php - HTTPPOST Android 到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9746156/

相关文章:

php - 调用未定义的函数 curl_init().?

PHP登录数据库连接错误

PHP/MySQL 多个查询可以吗?

java - 如何使用按钮显示字符串并更改为下一个字符串(列表中)?

MySQL:不使用任何 "show tables from database_name"或 "select table_name from information_schema.tables"查询返回表名

database - 这些数据模型中哪个是最正确的?

php - 如何管理 PHP 项目开发生命周期?

android - 不同的 Android 屏幕,不同的颜色,我们可以将屏幕编程为看起来相同吗?

java - 插入超链接时文本消失

Python3-LDAP 未返回预期结果