Salve sono nuovo del forum e spero che tra divoi ci sia chi potra aiutarmi...stavo porvando a fare quanto in oggeto seguendo le indicazioni trovate in questa discussiaone
..giorgiotave.it/forum/php-mysql/201693-importare-dati-da-xml-db-mysql.html
ma nonostante molteplici prove modifiche aver letto un po di tutto sul web son sempre punto e accapo.
il codic ewhe uso per eseguire l'importazione del file e in teoria la query di sinerimento è il seguente:
il risultato che ho una volta provato a eseguire il tutto è il mio messaggio di errore "Errore nella query o connessione al DB mancante" ripetuto tante volte quante sono i record del file xml che provo a importare.
all'inizio pensavo fosse proprio l'upload del file e il parsing dell'xml in php ma poi provandoa sostituire le variabili della query ...VALUES ('$nome', '$cognome', '$indirizzo', '$mail', '$telefono')...con VALUES ('1', '2', '3', '4', '5')...questi valori vengono scritti sul db tante volte quanti sono i record del file xml di prova.
Leggendo su svariati forum e discussioni sembra che la sintassi della query sia corretta quindi non so cosa altro andare a vedere.
per dovere di cronaca ho provato a far stampare a video il risultato dell'upload con questo codice :
codice:
e viene eseguito correttamente
spero che qualcuno risponda al mio appello ...grazie mille fin d'ora
..giorgiotave.it/forum/php-mysql/201693-importare-dati-da-xml-db-mysql.html
ma nonostante molteplici prove modifiche aver letto un po di tutto sul web son sempre punto e accapo.
il codic ewhe uso per eseguire l'importazione del file e in teoria la query di sinerimento è il seguente:
PHP:
<?php
// Richiamo il file di configurazione
require 'config.php';
// Richiamo lo script responsabile della connessione a MySQL
require 'connect.php';
// Recupero il file
$file = $_FILES['filexml'];
codice:
// Controllo che il file sia stato inserito
if ( $file['tmp_name'] != '' ) {
// Carica il file in una variabile $xml
$xml = simplexml_load_file( $file['tmp_name'] );
// Controllo tutti i tag "utenti"
foreach( $xml->utenti as $value ) {
// Recupero tutti i campi da ogni tag "utenti"
$nome = $value->NOME;
$cognome = $value->COGNOME;
$indirizzo = $value->INDIRIZZO;
$mail = $value->MAIL;
$telefono = $value->TELEFONO;
// Creo una query di inserimento e la eseguo
$sql = "INSERT INTO Utenti (nome, cognome, indirizzo, mail, telefono) VALUES ('$nome', '$cognome', '$indirizzo', '$mail', '$telefono')";
$rssql = mysql_query( $sql );
// Controllo che l'importazione sia avvenuta con successo
echo ( $rssql ) ? "Importazione avvenuta con successo" : "Errore nella query o connessione al DB mancante";
}
}
else
echo "Nessun file inserito";
all'inizio pensavo fosse proprio l'upload del file e il parsing dell'xml in php ma poi provandoa sostituire le variabili della query ...VALUES ('$nome', '$cognome', '$indirizzo', '$mail', '$telefono')...con VALUES ('1', '2', '3', '4', '5')...questi valori vengono scritti sul db tante volte quanti sono i record del file xml di prova.
Leggendo su svariati forum e discussioni sembra che la sintassi della query sia corretta quindi non so cosa altro andare a vedere.
per dovere di cronaca ho provato a far stampare a video il risultato dell'upload con questo codice :
codice:
PHP:
<?php
// Recupero il file
$file = $_FILES['filexml'];
// Controllo che il file sia stato inserito
if ( $file['tmp_name'] != '' ) {
// $xml = simplexml_load_file('dati.xml');
$xml = simplexml_load_file( $file['tmp_name'] );
echo "<h2>Dati presenti nel file: (".count($xml->utenti).")</h2>";
echo "<ul>";
$n = 0;
foreach ($xml->utenti as $utenti){
$nome =$utenti->NOME;
$cognome =$utenti->COGNOME;
$indirizzo =$utenti->INDIRIZZO;
$mail =$utenti->MAIL;
$telefono =$utenti->TELEFONO;
echo "<li>Utente $n / Nome: $nome / Cognome: / $cognome / Indirizzo: $indirizzo / Mail: / $mail / Telefono: / $telefono</li>";
}
}
echo "</ul>";
spero che qualcuno risponda al mio appello ...grazie mille fin d'ora
Ultima modifica: