Exemplo n.º 1
0
    $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);
        }
Exemplo n.º 2
0
/**
 * 执行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;
        }
    }
}