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; } } ?>