我还在学习服务器端代码,这就是我有这个问题的原因。到目前为止,我有一个只插入一行的PHP脚本。这是:
<?php
$response = array();
if(isset($_POST['team_full_name']) && isset($_POST['team_short_name'] && isset($_POST['league']))
{
$team_fn = $_POST['team_full_name'];
$team_sn = $_POST['team_short_name'];
$league = $_POST['league'];
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("INSERT INTO teamData(team_full_name, team_short_name, league)
VALUES('$team_fn', '$team_sn' '$league')");
if($result)
{
$response["success"] = 1;
$response["message"] = "Team Data successfully added.";
echo json_encode($response);
}
else
{
$response["success"] = 0;
$response["message"] = "Error occurred!";
echo json_encode($response);
}
}
else
{
$response["success"] = 0;
$response["message"] = "Required field(s) is missing.";
echo json_encode($response);
}
?>
但是在这种情况下,我将POST一个包含多行的整个数组的JSON字符串。如何设置php脚本来处理多行?
我要转换为JSON字符串的类是:
public class TeamData
{
String mFullName;
String mShortName;
String mLeague;
....
}
很抱歉,如果我忘记了一些重要信息,我对使用php和网络服务器完全不熟悉。如果您说明我需要添加的内容以使帖子更清晰,我可以编辑帖子。
答案 0 :(得分:2)
您可以像这样编写多行INSERT
个查询:
INSERT INTO teamData(team_full_name, team_short_name, league) VALUES
('$val', '$val', '$val'),
('$val', '$val', '$val'),
('$val', '$val', '$val'),
('$val', '$val', '$val'),
('$val', '$val', '$val')
你可以提供尽可能多的行&#39;只要你将查询长度保持在几十千字节,就可以得到你想要的值。
你也可以用
开始一堆单行插入(就像你正在做的那样) BEGIN TRANSACTION;
并以
结尾 COMMIT;
这将(如果您正在使用InnoDB)为您提供多行插入的大部分速度提升。它还具有甜蜜的特性,如果程序崩溃,数据库保持不变。