Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

PHP e MYSQL

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

PHP e MYSQL

Postdi feno » 12/03/03 12:05

Veniamo al secondo episodio del mio problema.
Nello scorso topic non riuscivo a dividere in corrispondenza delle tabulazioni un file di testo.
Adesso vorrei fare qualcosa di più evoluto: deve cancellare il contenuto del database fen2 leggermi il file .txt ed inserire ogni riga nel database fen2. Le tabulazioni dividono i campi. Ci ho provato ma non riesce ad inserirlo e non capisco perchè.
Vi metto qui sotto il codice che ho scritto.

Codice: Seleziona tutto
mysql_query ("DELETE FROM `fen2`");
$fp = fopen("fen2.txt", "r");
while(!feof($fp)) // Finchè il file non è finito
{
$riga = fgets($fp, 100); // Legge ogni riga
//esplodi la riga in corrispondenza delle tabulazioni comando explode
list ($codice, $descrizione, $quantita, $um) = explode ("\t", $riga);
trim ($codice);
trim ($descrizione);
trim ($quantita);
trim ($um);
$query = mysql_query ("INSERT INTO fen2 (codice, descrizione, quantità, um) VALUES ('$codice', '$descrizione', '$quantita', '$um'");
if ( !$query )
  print "Inserimento dati fallito :-(";
else
  print "Inserimento dati riuscito !";
}
fclose($fp);


Inutile dire che appare una lista infinita di

Inserimento dati fallito :-(

Grazie
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Sponsor
 

Postdi Frengo78 » 12/03/03 12:18

Mi viene da pensare molto semplicemente che possa essere andato male l'inserimento perche magari stai cercando di forzare stringhe in campi numerici. Boh!
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi feno » 12/03/03 12:20

ci ho già pensato anch'io ho messo nel db tutto in formato testo proprio per cercare di ovviare al problema.

Nada
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Postdi Frengo78 » 12/03/03 12:23

quando fai l'explode infatti non converti codice e quantita che rimangono delle stringhe.
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi Frengo78 » 12/03/03 12:24

Ah ok, non avevo letto, nonzo allora.

Però l'explode avviene correttamente? hai provato a farti sparare i dati? prima dell'immissione?
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi pjfry » 12/03/03 12:31

mi vengono in mente un paio di cose, non sò se ci hai già pensato :
1) il collegamento al database lo fai bene? per esempio, la query di cancellazione riesce senza problemi? perchè nel codice non c'è un controllo, e se non riesce quella potrebbe significare che l'errore parte da + su... tra l'altro non mi ricordo come andava gestita la cosa, da quello che vedo mysql_query si collega all'ultimo database aperto,giusto?
2)potrebbe essere un problema di struttura del db? tipo che cerchi di inserire dei valori in cui la chiave primaria è sempre uguale, o roba del genere?
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi Frengo78 » 12/03/03 12:37

Si appunto, verificato che la cancellazione funziona prova a fare l'insert forzando valori nulli (se i valori nulli sono accettabili)

Come funziona mysql? Se per caso un insert di n insert va storto lui fa il rollback di tutta la transazione? In questo caso provando a forzare un singolo insert (occhio a eventuali chiavi primarie) potrebbe farci capire molte cose
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi feno » 12/03/03 12:46

adesso provo ad inserire un record e vediamo cosa succede. Tutti gli altri suggerimenti non hanno dato alcun risultato. Ho paura di fare un qualche stupidissimo errore di sintassi e lui si inkatza!
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Postdi pjfry » 12/03/03 12:54

mysql_query ("INSERT INTO fen2 (codice, descrizione, quantità, um) VALUES ('$codice', '$descrizione', '$quantita', '$um'");

in questo codice manca una parentesi,mi pare :lol:
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi feno » 12/03/03 13:50

no la parentesi c'è.
ho provato ad inserire nel db una record con dei valori che avevo prestabilito io con questa riga

Codice: Seleziona tutto
mysql_query ("INSERT INTO fen2 (codice, descrizione, quantità, um) VALUES ('1', 'ciao', '13', 'nr'");


e continua a non funzionare. Siccome ho phpadmin ho copiato e incollato da insert in avanti in una query direttamente nel gestore del database e lì funziona correttamente. Mah! non riesco a capire.

Non vorrei che siccome gli ho dato il comando delete dopo non possa fare più nulla
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Postdi feno » 12/03/03 13:51

pjfry
hai ragione scusa!!!! manca proprio una parentesi!!!!
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Postdi Frengo78 » 12/03/03 13:54

Una birra in arrivo per pjfry!!!
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi pjfry » 12/03/03 13:57

:D dovevo colorarle meglio, dal mio messaggio non si capiva bene quella che volevo indicare :P
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi feno » 12/03/03 14:16

grazie mille adesso funziona come un orologio svizzero!!!!!!!!!
l'ho sempre detto... chiedi al forum pc-facile e risolverai tutti i problemi!!!
Cià

F@no
feno
Utente Senior
 
Post: 268
Iscritto il: 29/05/02 08:36
Località: Somewhere in Italy

Postdi Frengo78 » 12/03/03 14:36

Spargi la voce ;)
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino


Torna a Software Windows


Topic correlati a "PHP e MYSQL":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti

cron