true));
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
if (isset($_GET["op"])) {
$op = $_GET["op"];
} else if (isset($_POST["op"])) {
$op = $_POST["op"];
}
switch ($op) {
case "sync":
{
$time = $_POST["time"];
$query = "select guid,modify_time from term where receive_time>'{$time}' limit 0,1000";
$stmt = $PDO->query($query);
$Fetch = $stmt->fetchAll(PDO::FETCH_ASSOC);
$iFetch = count($Fetch);
echo json_encode($Fetch, JSON_UNESCAPED_UNICODE);
break;
}
case "get":
{
if (isset($_GET["id"])) {
$id = $_GET["id"];
} else if (isset($_POST["id"])) {
$id = $_POST["id"];
} else {
return;
}
$arrId = json_decode($id);
$queryId = "('";
foreach ($arrId as $one) {
$queryId .= $one . "','";
}
$queryId = substr($queryId, 0, -2) . ")";
$query = "select guid, word, word_en, meaning, other_meaning, note, tag, create_time, owner, hit,language,receive_time,modify_time from term where guid in {$queryId}";
$stmt = $PDO->query($query);
$Fetch = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($Fetch, JSON_UNESCAPED_UNICODE);
break;
}
case "insert":
{
echo "正在准备插入记录
";
if (isset($_POST["data"])) {
$data = $_POST["data"];
} else {
echo "没有数据
";
return;
}
$arrData = json_decode($data);
// 开始一个事务,关闭自动提交
$PDO->beginTransaction();
$query = "INSERT INTO term ('id',
'guid',
'word',
'word_en',
'meaning',
'other_meaning',
'note',
'tag',
'create_time',
'owner',
'hit',
'language',
'receive_time',
'modify_time'
) VALUES (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?)";
$stmt = $PDO->prepare($query);
foreach ($arrData as $oneParam) {
$param = array();
$param[] = $oneParam->guid;
$param[] = $oneParam->word;
$param[] = $oneParam->word_en;
$param[] = $oneParam->meaning;
$param[] = $oneParam->other_meaning;
$param[] = $oneParam->note;
$param[] = $oneParam->tag;
$param[] = $oneParam->create_time;
$param[] = $oneParam->owner;
$param[] = $oneParam->hit;
$param[] = $oneParam->language;
$param[] = time();
$param[] = $oneParam->modify_time;
$stmt->execute($param);
}
// 提交更改
$PDO->commit();
if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
$error = $PDO->errorInfo();
echo "error - $error[2]
";
} else {
$count = count($arrData);
echo "INSERT $count recorders." . "
";
}
break;
}
case "update":
{
echo "更在准备更新数据
";
if (isset($_POST["data"])) {
$data = $_POST["data"];
} else {
echo "没有输入数据
";
return;
}
$arrData = json_decode($data);
// 开始一个事务,关闭自动提交
try {
$PDO->beginTransaction();
foreach ($arrData as $one) {
$query = "UPDATE term SET word='{$one->word}' ,
word_en='{$one->word_en}' ,
meaning='{$one->meaning}' ,
other_meaning='{$one->other_meaning}' ,
note='{$one->note}' ,
tag='{$one->tag}' ,
create_time='{$one->create_time}' ,
owner='{$one->owner}' ,
hit='{$one->hit}' ,
language='{$one->language}' ,
receive_time='" . time() . "' ,
modify_time='{$one->modify_time}'
where guid='{$one->guid}'";
$PDO->exec($query);
}
// 提交更改
$PDO->commit();
echo "update " . count($arrData) . "
";
} catch (Exception $e) {
$PDO->rollback();
echo "Failed:" . $e->getMessage() . "
";
}
break;
}
}