ho speranze di riuscire a importare dati presi da excel in mysql?
c'è un ottimo programma che lo fa, navicat, ma non penso che si possa accedere al db di AV dall'esterno!
non so, se qualcuno ha avuto esperienze simili ed è riuscito non è che mi da una mano? grazie mille! :?????: :?????:
bhe io una volta ho dovuto fare una cosa del genere. Ma conoscendo la programmazione... Quello che puoi fare e' esportare i dati di un fogllio xls in un file di testo con i campi separati a tab e creare uno script che li legga e li inserisca.
Non vorrei sbagliare ma credo che mysql abbia una funzione built-in che legga da solo da un file ben formattato. Leggi la guida di mysql forse trovi qualcosa...
allora, la funzione predefinita è disabilitata, ho provato a salvare il file come cvs e farlo leggere da mysql ma il risultato è stato questo:
Warning: chmod,chown,chgrp,symlink,link,putenv,linkinfo,rea dlink,lstat,ini_set,diskfreespace,tmpfile,tempnam, shell_exec,get_current_user() has been disabled for security reasons in /membri/perry82/my_admin/ldi_check.php on line 34
Database my_perry82 - Tabella prestiti in esecuzione su localhost
Errore
query SQL :
LOAD DATA LOCAL INFILE '/membri/.dummy/temp/php3t7E5b' INTO TABLE `prestiti` FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'
Messaggio di MySQL:
The used command is not allowed with this MySQL version
aZz! bhe credo che sia stato disabilitato. Tu non conosci php? Se mi dai la firma della tabella (almeno se gli attributi sono stringhe o interi) posso mandarti uno script sempllice che ti permette di inserire i dati nella tabella
1) mysql-front ha lo stesso problema di navicat, ovvero è un programma che installo sul mio pc! e a quanto ne so non posso accedere dall'esterno a mysql
2) x esordonoco: guarda io con la programmazione in generale me la cavo bene, php lo sto cominciando ora, cmq se tu hai voglia di mandarmi uno script in generale in php che prende dati da un file di testo formato:
io poi sono tranquillamente in grado di adattarlo alle mie esigenze (a me basta averne uno che lo fa x due colonne e poi ci penso io). ti ringrazio in anticipo se ti va di farlo, se no mi ingegno io! ;)
con data[] fa l'output delle informazioni su ogni riga. Prima del ciclo piu' interno potresti inserire una cosa del tipo
echo "INSERT INTO tabella values("
e dopo il ciclo piu' esterno
echo ");";
fammi vedere come ti esce l'output che lo elaboriamo insieme
premetto che io nella vita programmo in c++ o c# e che php sto cominciando ora a guardarlo... cmq io pensavo potesse funzionare questo:
<?php require_once('../Connections/***.php'); # si connette al database
?>
<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
$insertSQL = sprintf("INSERT INTO prestiti (id_libro) VALUES ");
for ($c=0; $c < ($num-1); $c++) { # num-1 cosi l'ultima non mette , ma ;
$insertSQL =+ $data[$c] . ", ";
}
$insertSQL =+ $data[$c] . ";";
mysql_select_db($database_sitoweb, $sitoweb);
$Result1 = mysql_query($insertSQL, $sitoweb) or die(mysql_error());
}
fclose($handle);
?>
ora, a me dice:
" 4 fields in line 1:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1"
line 1? la connessione al db??? help!!! ;)
Ultima modifica di perry82 : 17-08-2004 alle ore 19.33.29
perfetto! funziona benissimo!
l'unico problema era il fatto che io usavo =+ che non era propriamente standard! appena ho 2 secondi di tempo gli do una sistematina x renderlo universale e poi lo posto