public function DBsynAction($citeid, $databaseName = '') { $m = new PSys_SynModel(); $d = new PSys_SynRule(); $error = array(); $error['error'] = true; foreach ($citeid as $id) { $cites = array(); $where = array('id' => $id); $cites = $m->GetOne($where, '*'); if (!$databaseName) { $sqls = $d->getcitesql($id); foreach ($sqls as $key => $sql) { $db_config["hostname"] = $cites['citeip']; //服务器地址 $db_config["username"] = $cites['name']; //数据库用户名 $db_config["password"] = $cites['password']; //数据库密码 $db_config["database"] = $sql['database']; //数据库名称 $db_config["charset"] = "utf8"; //数据库编码 $db_config["pconnect"] = 0; //开启持久连接 $db_config["log"] = 0; //开启日志 $db_config["logfilepath"] = './'; //开启日志 $db = new PSys_dbsynRule($db_config); $result = $db->query($sql['sqlcontent']); if (!$result) { $sqlwhere = array('id' => $sql['id']); $data = array('error' => $sql['error'] . ',' . $id); $d->Update($data, $sqlwhere); $error['error'] = false; $error['ercontent'] .= "SQL语句同步失败编号:" . $sql['id'] . "。"; } else { $sqlwhere = array('id' => $sql['id']); $data = array('siteid' => $sql['siteid'] . ',' . $id); $d->Update($data, $sqlwhere); } } } else { foreach ($databaseName as $dataName) { $sqls = $d->getcitesql($id, $dataName); foreach ($sqls as $key => $sql) { $db_config["hostname"] = $cites['citeip']; //服务器地址 $db_config["username"] = $cites['name']; //数据库用户名 $db_config["password"] = $cites['password']; //数据库密码 $db_config["database"] = $sql['database']; //数据库名称 $db_config["charset"] = "utf8"; //数据库编码 $db_config["pconnect"] = 0; //开启持久连接 $db_config["log"] = 0; //开启日志 $db_config["logfilepath"] = './'; //开启日志 $db = new PSys_dbsynRule($db_config); $result = $db->query($sql['sqlcontent']); if (!$result) { $sqlwhere = array('id' => $sql['id']); $data = array('error' => $sql['error'] . ',' . $id); $d->Update($data, $sqlwhere); $error['error'] = false; $error['ercontent'] .= "SQL语句同步失败编号:" . $sql['id'] . "。"; } else { $sqlwhere = array('id' => $sql['id']); $data = array('siteid' => $sql['siteid'] . ',' . $id); $d->Update($data, $sqlwhere); } } } } } return $error; }