Ho una pagina come da codice sotto, che deve inserire i dati che compilo nelle varie tabelle in mysql, (che creo da un'altra pagina ovvero creo le categorie), nello specifico in questa pagina vado a compilare una scheda per un articolo da vendere.
Morale della favola una volta compilati i campi necessari, la pagina mi restituisce il seguente errore: 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 '1 (id, nome_articolo, descrizione_articolo, prezzo_
Dove il numero 1 è la tabella corrispondente alla prima categoria creata.
Presumo che l'errore stia nell'INSERT INTO ma perchè?
Codice PHP:
<style type="text/css">
#content{ width:350px; float:left;}
#content2 { float:left; margin-right:20px; width:200px;}
#content3{ width:120px; float:left;}
#content4 { float:left; margin-right:20px; width:140px;}
</style>
<form action='?inviodati=ok' method='POST'>
<div id="content">Nome Articolo:</div>
<div id="content2"><input name='nome_articolo' type='text' size="27" id="nome_articolo" /></div>
<p> </p>
<div id="content">Categoria di destinazione:</div>
<div id="content2"><select name="in_categoria">
<option></option>
<?PHP
// Mi connetto al database
include ('mysql_connect.php');
mysql_select_db("$db_name2")or die("cannot select DB");
// Recupero i record per la pagina corrente...
$rs = mysql_query("SELECT id, nome_categoria FROM shop_categorie ORDER BY id ");
$nr = mysql_num_rows($rs);
if ($nr != 0){
for($x = 0; $x < $nr; $x++){
$row = mysql_fetch_assoc($rs);
echo "<option value=\"" . $row['id'] . "\">". $row['nome_categoria'] ."</option>";
}
}else{
echo "Nessun record trovato!";
}
?>
</select></div>
<p> </p>
<div id="content">Descrizione Articolo:</div><br />
<div id="content"><textarea name="descrizione" cols="120" rows="15"></textarea></div><br />
<p> </p>
<div id="content">Costo in € (es: 23,65):</div>
<div id="content2"><input name='prezzo' type='text' size="27" /></div><br />
<p> </p>
<table width="600" border="0">
<tr>
<td>Inserisci immagini:</td>
</tr>
<tr>
<td><a target="box" href='#' onClick="window.open('shp_carica_file_1.html','miaFinestra','width=670,height=510, toolbar=no, location=no,status=no,menubar=no,scrollbars=no,resizable=no');">Apri l'Uploader</a></td>
</tr>
<tr>
<td><input name='immagine_articolo1' type='text' size="117" /></td>
</tr>
<tr>
<td><input name='immagine_articolo2' type='text' size="117" /></td>
</tr>
<tr>
<td><input name='immagine_articolo3' type='text' size="117" /></td>
</tr>
<tr>
<td><input name='immagine_articolo4' type='text' size="117" /></td>
</tr>
</table>
<br />
<p>
<input name="Ripristina" type='reset' value='Cancella Tutto' />
<input type='submit' value='Inserisci articolo nello shop' /></p>
</form>
<?php
// attraverso un if controlliamo che il form sia stato inviato
if ( $_GET['inviodati'] == "ok" ) {
// recuperiamo i dati inviati con il form
$nome_articolo = $_POST['nome_articolo'];
$in_categoria = $_POST['in_categoria'];
$descrizione = $_POST['descrizione'];
$prezzo = $_POST['prezzo'];
$immagine_articolo1 = $_POST['immagine_articolo1'];
$immagine_articolo2 = $_POST['immagine_articolo2'];
$immagine_articolo3 = $_POST['immagine_articolo3'];
$immagine_articolo4 = $_POST['immagine_articolo4'];
// ora controlliamo che i campi siano stati tutti compilati
if ( $nome_articolo == TRUE && $descrizione == TRUE && $prezzo == TRUE ) {
//inseriamo l'articolo nel database
mysql_query("INSERT INTO $in_categoria
(id, nome_articolo, descrizione_articolo, immagine_articolo1, immagine_articolo2, immagine_articolo3, immagine_articolo4, prezzo_articolo)
VALUES
('', '$nome_articolo', '$descrizione_articolo', '$immagine_articolo1', '$immagine_articolo2', '$immagine_articolo3', '$immagine_articolo4', '$prezzo')") OR DIE(mysql_error());
// messaggio da far visualizzare all'utente finale
echo "<div style=\"color:#093\"><strong>Articolo inserito con successo!</strong></div>";
} else {
echo "<div style=\"color:#F00\"><strong>Tutti i campi sono obbligatori, escluse le immagini.</strong></div>";
}
}
?>