|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
[PHP] Inserimento dati invisibile
Non sapevo come altro chiamarlo questo problemuccio.
In pratica ho fatto un script ovvero un form che l'utente deve compilare ed inserisce i dati direttamente nel db... ma nonostante non c siano errori, questo non avviene. Cosa può essere??? Di seguito riporto il sorgente: Codice:
<?
include("info.php");
$sql = "INSERT INTO Clienti
(
ID_CLIENTE,
Nome,
Cognome,
Indirizzo,
Telefono,
Email,
)VALUES(
".$_GET["Nome"].",
'".$_GET["Cognome"].",
'".$_GET["Indirizzo"].",
'".$_GET["Telefono"].",
'".$_GET["Email"]."'
)
INSERT INTO Libri
(
ID_LIBRI,
Scelta,
Titolo,
Editore,
Autore,
Prezzo,
Pubblicazione,
Note,
)VALUES(
".$_GET["Scelta"].",
'".$_GET["Titolo"].",
'".$_GET["Editore"].",
'".$_GET["Autore"].",
'".$_GET["Prezzo"].",
'".$_GET["Pubblicazione"].",
'".$_GET["Note"]."'
)
";
?>
Il tutto l'ho provato su netsons Ultima modifica di Traxsung : 07-08-2006 alle 00:01. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Questi invece sono gli errori che ottengo in locale
Warning: mysql_select_db(): Accesso non consentito per l'utente: 'ODBC'@'localhost' (Password: NO) in c:\programmi\easyphp1-8\www\n\inserimento.php on line 4 Warning: mysql_select_db(): A link to the server could not be established in c:\programmi\easyphp1-8\www\n\inserimento.php on line 4 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
sembra ci sia un errore nell'accesso al db...
prova a postare anche il file info.php
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Questo è il file info.php che contiene i dati per la connessione:
Codice:
<?
$host = "localhost";
$user = "root";
$password = "";
$connessione = mysql_connect($host,$user,$password) or die ("Non riesco a connettermi");
mysql_close($connessione);
?>
La cosa che mi stranizza è che in locale invece di root lui vorrebbe ODBC
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
perchè dopo che la apro non devo chiuderla??
Accetto consigli e suggerimenti perchè sono niubbo in php |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
andbin ho appena provato senza il close ma se vado a vedere su phpmyadmin le righe rimangono sempre a zero
Cosa potrebbe essere che non mi permette la scrittura?? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Ragazzi... nessun consiglio?? Non so più dove sbattere la testa
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Non c'è proprio nessuno che possa aiutarmi ?
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
L'unica cosa che posso dire è che mysql_close la devi chiamare alla fine di tutto lo script, non appena dopo che hai aperto la connessione (almeno così ho capito dai tuoi post).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
dunque innanzitutto come è già stato detto devi assolutamente levare il mysql_close dal file che includi (è un po' come se tu accendessi il pc per fare un lavoro, lo spegnessi e poi tentassi di fare il lavoro)
dopodiché c'è un altro errore: tu prepari la stringa della query in $sql, ma non la fai mai eseguire.. in pratica, dopo la preparazione della stringa devi dare: if(!mysql_query($sql)) die("query non riuscita"); che ti testa già se la query è andata a buon fine.. per quanto riguarda la connessione che ti rifiuta..sei sicuro che root nel tuo sistema non abbia la pasword?altra domanda: sei sicuro che root abbia tutti i privilegi su tutti gli host, localhost compreso? (domanda abbstanza stupida perché li ha nativamente, ma non si sa mai) facci sapere se funziona qualcosa oppure gli eventuali msg di errore |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
ragazzi... non va neanche così
Potete passarmi un vostro piccolo scripterino per l'inserimento così vedo dov'è che sbaglio ?? Grazie |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
Quote:
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
sembrerebbe andare tutto a buon fine, ma in pratica non scrive nulla nel database
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
allora fai così: prendi la query e la schiaffi o in phpmyadmin o direttamente sul prompt di mysql e vedi che ti dice (naturalemente ripuliscila dei vari $_GET e sostituisci valori di prova
|
|
|
|
|
|
#16 | |
|
Messaggi: n/a
|
Quote:
Prova a stampare a video la variabile $sql, poi copia e incolla la stringa come ti ha detto loris_p in PhpMyAdmin e vedi cosa succede. |
|
|
|
|
#17 |
|
Messaggi: n/a
|
No aspetta c'è qualcosa che non mi quaglia, che io sappia non è possibile indicare in un'unica query due istruzioni INSERT come hai fatto qui:
Codice PHP:
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
infatti anche io ce l'ho sto dubbio..
forse dovrebbe almeno provare a farlo separando le due istruzioni da un ; perché una cosa così mi sa che mysql gliela rifiuta
|
|
|
|
|
|
#19 |
|
Messaggi: n/a
|
Esatto, di sicuro si può effettuare una INSERT con più valori ma eseguire due INSERT distinte proprio no.
Traxsung facci sapere se hai risolto. Ciao. |
|
|
|
#20 |
|
Member
Iscritto dal: Feb 2003
Città: Rimini
Messaggi: 62
|
Si, le inserzioni doppie non si riescono a fare ( a meno credo di inserire un ";" tra una e l'altra, ma ti conviene dividerle in due) MA c'è un errore concettuale: hai specificato che andrai a inserire l'id_cliente, ma tra i VALUES il primo valore è il nome (e qui crasha).
poi ti consiglio: quando esegui una query, debuggala con mysql_error(): Codice PHP:
Codice:
<?
include("info.php");
$sql = "INSERT INTO Clienti
(
ID_CLIENTE, <-- Qui vuole anche idcliente
Nome,
Cognome,
Indirizzo,
Telefono,
Email,
)VALUES(
"", <-- devi inserire anche un campo vuoto per id_cliente (immagino si a autoincrement
".$_GET["Nome"].", <-- qui gli passi come primo "nome"
'".$_GET["Cognome"].",
'".$_GET["Indirizzo"].",
'".$_GET["Telefono"].",
'".$_GET["Email"]."'
)
INSERT INTO Libri
(
ID_LIBRI,
Scelta,
Titolo,
Editore,
Autore,
Prezzo,
Pubblicazione,
Note,
)VALUES(
".$_GET["Scelta"].",
'".$_GET["Titolo"].",
'".$_GET["Editore"].",
'".$_GET["Autore"].",
'".$_GET["Prezzo"].",
'".$_GET["Pubblicazione"].",
'".$_GET["Note"]."'
)
";
?>
__________________
[Stef@no] - Segui il coniglio bianco |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:38.



















