$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);
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);