USERS という名前の mysql テーブルに N 個の行を挿入したいと考えています。単一の行を挿入するには、次のコードを記述します (動作します)。
PHP 側: insert_user.php
<?php
$mysqli = new mysqli('hostname', 'username','password', 'dbname');
if (mysqli_connect_errno()) {
printf("Can't connect Errorcode: %s\n", mysqli_connect_error());
exit;
}
if ($result = $mysqli->prepare("INSERT INTO `users` (`email`, `imei`) VALUES (?,?)")) {
$email = $_POST['email'];
$imei = $_POST['imei'];
$result->bind_param("ss", $email, $imei);
$result->execute();
$result->close();
printf("Insert OK");
} else {
printf("Insert KO. ERROR: %s",mysqli_error());
}
$mysqli->close();
?>
JAVA側
public void insertUser(String email
, String imei) {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("email", email));
nameValuePairs.add(new BasicNameValuePair("imei", imei));
// send them on their way
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("myserver.com/insert_user.php");
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpClient.execute(httpPost);
} catch (e) {
e.printStackTrace();
}
}
質問
「 insert_ multi _user.php 」と相対的な Java メソッドの少し完全な例が必要です。より多くの行を渡します (配列を使用しますか? コレクションを使用しますか? わかりません...)。たとえば、次の Java 行を置き換えます。
nameValuePairs.add(new BasicNameValuePair("email", email));
nameValuePairs.add(new BasicNameValuePair("imei", imei));
配列 (?):
nameValuePairs.add(new BasicNameValuePair("email", email[]));
nameValuePairs.add(new BasicNameValuePair("imei", imei[]));
そして、phpでは、次を置き換えます:
$email = $_POST['email'];
$imei = $_POST['imei'];
と:
$email[] = $_POST['email'];
$imei[] = $_POST['imei'];
(明らかに、上記のコードはアイデアを提供するためのものであり、正しくありません...)
私は運の悪い日々を過ごしました:(ありがとう、Geltry