Inserire dati in database

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ragazzi, ho un problema cretino che non riesco a spiegrami. Questa istruzione già la uso in altre parti del sito che sto creando, e funziona correttamente, ora in questa pagina non ne vuole proprio sapere di funzionare, e pure credo che sia scritta correttamente, in pratica devo fare una cosa molto basilare, cioè quella di prendere i dati da un form, ed inserirli in un database, però mi da un errore di sintassi. Vi posto il codice cosi potrete dirmi cosa sbaglio:

PHP:
<?php
require_once('../site/config.php');
require_once('../site/mytime.inc');

//recupero dati form
$nome = $_POST['nome'];
$desc = $_POST['desc'];
$prezzo = $_POST['prezzo'];
$myday=date("d/m/Y");

//inserisco dati nel database
$myquery = "INSERT INTO prodotti (nome, desc, prezzo, data, ora) VALUES ('$nome', '$desc', '$prezzo', '$myday', '$ora')";
if (@mysql_query($myquery)) {
echo ("<meta http-equiv=\"Refresh\" content=\"3; URL=servizi.php\"><br><br><br><br><center><h2>Hai inserito correttamente il servizio<br><br>Sarete reindirizzato/a automaticamente alla pagina dei servizi</h2></center>");
 
} else {
echo ("<meta http-equiv=\"Refresh\" content=\"3; URL=servizi.php\"><br><br><br><br><center><h2>Errore durante inserimento: ". mysql_error()."<br><br>Sarete reindirizzato/a automaticamente alla pagina dei servizi</h2></center>");

}
Grazie :D
 
Ultima modifica:
ciao
io vedo due cose
1. la variabile ....., '$ora')"; sembrerebbe non definita (salvo che provenda dal precedente require
2. prova a scrive il reindirizzamento in questo modo
echo "<meta http-equiv='Refresh'content='3; URL=servizi.php'><br><br><br><br><center><h2>Errore durante inserimento: ". mysql_error()."<br><br>Sarete reindirizzato/a automaticamente alla pagina dei servizi</h2></center>";


p.s.
evita require_once('../site/mytime.inc'); l'estensione .inc può essere pericolosa e soggetta ad attacchi, sarebbe meglio
require_once('../site/mytime.php);
 
dimenticavo
dovendo insereire nel db è meglio aggiungere per evitare errori di apostrofo e/o accenti

$nome = addslashes($_POST['nome']);
.........
 
Ciao grazie per le vostre risposte!

Allora l'errore che mi dà è questo:
Codice:
Errore durante l'inserimento: 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 'desc, prezzo, data, ora) VALUES ('prova', 'lkjjlkjlk', '100.00', '31/08/2009', '' at line 1

Sarete reindirizzato/a automaticamente alla pagina dei servizi


Mentre per la variabile $ora è definita nel require del mytime.inc

Grazie:fonzie:
 
Avevi proprio ragione, con il campo del database desc non funzionava, mentre modificandolo con descrizione, funziona correttamente.
Grazie:fonzie:
 

Discussioni simili