我想从android发送值数组到php插入MySQL数据库。这是我的android代码。
List<NameValuePair> params = new ArrayList<NameValuePair>();
for (String receiver : receivers) {
params.add(new BasicNameValuePair("receiverid", receiver));
}
params.add(new BasicNameValuePair("senderid", args[0]));
params.add(new BasicNameValuePair("subject", args[1]));
params.add(new BasicNameValuePair("message", args[2]));
params.add(new BasicNameValuePair("msgdt", args[3]));
params.add(new BasicNameValuePair("msgtime", args[4]));
// params.add(new BasicNameValuePair("receiverid[]", args[5]));
JSONParser jsonParser = new JSONParser();
JSONObject json = jsonParser.makeHttpRequest(
Constants.URL_admin_send_message, "POST", params);
try {
// JSONArray categories = json.getJSONArray("success");
String val = json.getString("success");
if (val.equals("1")) {
status = true;
} else {
status = false;
}
} catch (JSONException e) {
e.printStackTrace();
}
这是我的PHP代码。
try
{
$receiverid =array();
$s="";
$senderid =$_POST['senderid'];
$subject=$_POST['subject'];
$message=$_POST['message'];
$msgdt=$_POST['msgdt'];
$msgtime =$_POST['msgtime'];
$receiverid =$_POST['receiverid'];
$response = array();
for($i=0; $i<count($receiverid);$i++)
{
$s=mysql_query("insert into `schoolsystem`.`sch_message`
(
`sender_id`,
`subject`,
`message`,
`msg_date`,
`msg_time`,
`receiver_id`
)
values
(
'$senderid',
'$subject',
'$message',
'$msgdt',
'$msgtime',
'$receiverid[$i]')");
}
我没有得到我从我的android代码发送的所有值。在php中的for循环只工作一次所以我只在$ receiverid [$ i]中得到一个值。只得到一个值..请帮帮我
答案 0 :(得分:1)
如果要将参数作为数组,则必须在参数名称中包含[]。将receiverid
替换为receiverid[]
。