$tablename = $post['table']; foreach ($packet['schemas'] as $schema) { if (substr($schema['tablename'], 4) == $tablename) { $remote = $schema; break; } } if (!empty($remote)) { load()->func('db'); $local = db_table_schema(pdo(), $tablename); $sqls = db_table_fix_sql($local, $remote); $error = false; foreach ($sqls as $sql) { if (pdo_query($sql) === false) { $error = true; $errormsg .= pdo_debug(false); break; } } if (!$error) { exit('success'); } } exit; } if (!empty($packet) && (!empty($packet['upgrade']) || !empty($packet['install']))) { $schemas = array(); if (!empty($packet['schemas'])) { foreach ($packet['schemas'] as $schema) { $schemas[] = substr($schema['tablename'], 4); }
/** * 执行SQL返回全部记录 * * @param string $sql * @param array $params * @return mixed */ function pdo_fetchall($sql, $params = array(), $keyfield = '') { $statement = pdo()->prepare($sql); $result = $statement->execute($params); if (PDO_DEBUG) { $info = array(); $info['sql'] = $sql; $info['params'] = $params; $info['error'] = $statement->errorInfo(); pdo_debug(false, $info); } if (!$result) { return false; } else { if (empty($keyfield)) { return $statement->fetchAll(pdo::FETCH_ASSOC); } else { $temp = $statement->fetchAll(pdo::FETCH_ASSOC); $rs = array(); if (!empty($temp)) { foreach ($temp as $key => &$row) { if (isset($row[$keyfield])) { $rs[$row[$keyfield]] = $row; } else { $rs[] = $row; } } } return $rs; } } }