database, "", "",array(PDO::ATTR_PERSISTENT=>true));
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
switch($op){
case "sync":
{
$time=$_POST["time"];
$query = "select {$param->uuid} as guid, {$param->modify_time} from {$param->table} where {$param->receive_time} > '{$time}' limit 0,10000";
$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(false);
}
$arrId = json_decode($id);
$queryId="('";
foreach($arrId as $one){
$queryId .= $one."','";
}
$queryId = substr($queryId,0,-2).")";
$query = "SELECT * FROM {$param->table} WHERE {$param->uuid} in {$queryId}";
$stmt = $PDO->query($query);
$Fetch = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo( json_encode($Fetch,JSON_UNESCAPED_UNICODE));
return(TRUE);
break;
}
case "insert":
{
echo "正在准备插入记录
";
if(isset($_POST["data"])){
$data=$_POST["data"];
}
else{
echo "没有数据
";
return(FALSE);
}
// 开始一个事务,关闭自动提交
$PDO->beginTransaction();
$query = "INSERT INTO {$param->table} (";
foreach($param->insert as $row){
$query .= "'".$row."',";
}
$query .= "'receive_time') VALUES ( ";
for($i=0;$iinsert);$i++){
$query .= " ?, ";
}
$query .= " ? )";
$arrData = json_decode($data,TRUE);
$stmt = $PDO->prepare($query);
foreach($arrData as $oneParam){
$newRow=array();
foreach($param->insert as $row){
$newRow[]=$oneParam["{$row}"];
}
$newRow[]=mTime();
$stmt->execute($newRow);
}
// 提交更改
$PDO->commit();
if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
$error = $PDO->errorInfo();
echo "error - $error[2]
";
return(FALSE);
}
else{
$count=count($arrData);
echo "INSERT $count recorders."."
";
return(TRUE);
}
break;
}
case "update":
{
echo "更在准备更新数据
";
if(isset($_POST["data"])){
$data=$_POST["data"];
}
else{
echo "没有输入数据
";
return(FALSE);
}
$arrData = json_decode($data,TRUE);
$query = "UPDATE {$param->table} SET ";
foreach($param->update as $row){
$query .= "{$row} = ? ,";
}
$query .= "{$param->receive_time} = ? where {$param->uuid} = ? ";
$stmt = $PDO->prepare($query);
// 开始一个事务,关闭自动提交
try{
$PDO->beginTransaction();
foreach($arrData as $one){
$newRow = array();
foreach($param->update as $row){
$newRow[] = $one["{$row}"];
}
$newRow[] = mTime();
$newRow[] = $one["{$param->uuid}"];
$stmt->execute($newRow);
}
// 提交更改
$PDO->commit();
if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
$error = $PDO->errorInfo();
echo "error - $error[2]
";
return(FALSE);
}
else{
$count=count($arrData);
echo "INSERT $count recorders."."
";
return(TRUE);
}
}
catch(Exception $e){
$PDO->rollback();
echo "Failed:".$e->getMessage()."
";
return(FALSE);
}
break;
}
default:
break;
}
}
?>