Esempio n. 1
0
                    $v = '""';
                }
            }
        }
        $b[] = $v;
    }
    $dataLineCnt++;
    $sql .= ($sql ? ",\n" : '') . '(' . implode(', ', $b) . ')';
    if (strlen($sql) >= 0x80000) {
        if ($toFile) {
            $file->write($sqlPrefix . $sql . ";\n");
        } else {
            if (!MySQLQuery::NoResultQuery($LINK, $sqlPrefix . $sql)) {
                return $LINK->error;
            }
        }
        $sql = '';
    }
    if ($lim > 0 && $dataLineCnt == $lim) {
        break;
    }
}
fclose($f);
if ($sql) {
    if ($toFile) {
        $file->write($sqlPrefix . $sql . ";\n");
    } elseif (!MySQLQuery::NoResultQuery($LINK, $sqlPrefix . $sql)) {
        return $LINK->error;
    }
}
return array('result' => $toFile ? $file->name : TRUE);
Esempio n. 2
0
File: exec.php Progetto: milkae/Php
    return "Can't get the value of 'max_allowed_packet' MySQL variable";
}
$maxPack = $maxPack[0][0];
$z = new SQLStatementReader($ARGS['file'], @$ARGS['file_encoding'], @$ARGS['offset'] ?: 0);
$c = 0;
while (!$z->done) {
    if (($s = $z->read()) === FALSE) {
        return $z->error;
    }
    if ($s && ($s = trim(preg_replace('/^(#|--).*/m', '', $s)))) {
        if (preg_match('/^USE\\s+(.+)/i', $s, $m)) {
            $db = trim($m[1], '`');
        } else {
            $s = preg_replace('/\\/\\*!\\d+\\s+|\\s*\\*\\/$/', '', $s);
            if (preg_match('/^SET\\s+.+/i', $s, $m)) {
                file_put_contents($sf, $m[0] . ";\n", FILE_APPEND);
            }
        }
        $l = strlen($s);
        if ($l >= $maxPack) {
            return "Statement beginning with '<b>" . substr($s, 0, 100) . "...</b>'<br /> is too large ({$l} bytes). " . "Maximum packet size defined in MySQL server's configuration is {$maxPack} bytes. " . "<a href=\"http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html\" target=\"_blank\">More details here</a>";
        }
        if (!MySQLQuery::NoResultQuery($LINK, $s)) {
            return $LINK->error;
        }
    }
    if ($ARGS['step'] && ++$c == $ARGS['step']) {
        break;
    }
}
return array('result' => "Successfully executed {$c} statement" . ($c > 1 ? 's' : ''), 'count' => $c, 'offset' => $z->offset + $z->fileOffset, 'done' => $z->done, 'db' => $db);