LOAD DATA LOCAL INFILE problema versioni diverse

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ho un piccolo problema e non so se è risolvibile, siccome ho creato un nuovo software, può capitare che alcuni utenti non abbiano aggiornato mysql, cioè lo script gira perfettamente su mysql 5.0.51 mentre già su mysql 5.0.22 dice che la sintassi delle query LOAD DATA LOCAL INFILE non è corretta per questa versione.

Posso risolvere in qualche modo il problema per renderla universale per ogni versione di mysql?

Riporto la query:

PHP:
mysql_query("LOAD DATA LOCAL INFILE 'product_list.csv' INTO TABLE product_list FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;") or die('Error loading data file.<br>' . mysql_error());

Grazie
 
potresti intercettare la versione di MySQL in questo modo:
PHP:
$t=mysql_query("select version() as ve");
$r=mysql_fetch_object($t);
$versione = $r->ve;

e modiifcare la query se dovesse essere > o < alla 5.0.51
 
Grazie per la risposta, però non ho capito per farlo funzionare con la versione inferiore, cosa devo cambiare.

Cioè nella query cosa c'è di sbagliato.
 
Ma sei sicuro che il problema si verifichi solo con determinate versioni di MySQL? Perché io nel manuale sul sito ufficiale non vedo modifiche da apportare nella tua query. Dai un'occhiata a questa pagina: http://dev.mysql.com/doc/refman/5.0/en/load-data.html. La stessa sintassi vale per tutte le sotto-versioni della 5.0, e lì non specifica nessuna modifica. Puoi riportare precisamente l'errore restituito dalla query?
 
No ti ripeto, eseguo la query con la versione maggiore nessun errore, mentre con quella versione lì mi da un'errore di sintassi senza specificare null'altro.
 

Discussioni simili