PDA

View Full Version : Query Sql


Alex1
11-10-2002, 12:18
mi trovo a dover dividere una query sql in file da 20 insert l'uno per poterli reinserire (causa problemi col phpmyadmin del server). Ho un file da 12000 insert. esiste un prog che faccia la divisione o sono costretto a farla a mano?

theo
11-10-2002, 12:49
Ipotizzando che il tuo file originale abbia una INSERT per riga, puoi usare questo:

[php:1:4fd40aa87e]
<?

$fin=fopen('./sqlfile.sql','r');

$rowcounter=1;
$filecounter=0;

while (!feof($fin)) {
$data=fgets($fin, 2048);
if ($rowcounter > 20) {
$rowcounter=1;
$filecounter++;
}
$fout=fopen("outfile$filecounter.sql",'a');
if (($result=fwrite($fout,$data)) == -1) {
die("Impossibile scrivere sul file outfile$filecounter.sql");
}
fclose($fout);
$rowcounter++;
}
fclose($fin);

?>
[/php:1:4fd40aa87e]

Il file originario ho supposto che si chiami "sqlfile.sql" e in uscita i files saranno numerati come outfileN.sql.

Modifica i path dei file a seconda delle tue esigenze e verifica che Apache abbia permessi di scrittura nella directory dove vuoi outputtare i files splittati.

Bye,

Alex1
11-10-2002, 13:49
grazie :wink:

fank
11-10-2002, 22:46
Puoi anche usare...

$array=file("filename");

che legge un intero file in un vettore, e poi...