- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema PHP my sql
- 
							
							
							
							
							
Problema PHP my sqlCiao a tutti, 
 mi sto avvicinando nel mondo mysql, php.
 Ho fatto il mio primo script che con un HTML va a richiamare un .PHP per poi scrivere il tutto sul database MYSQL (usando Xampp in locale). Tutto funziona se nel database nella struttura c?è solo un campo. Come qui sotto.HTML 
 <form action="inserisci.php" method="post">
 articolo: <input type="text" name="articolo"><br>
 <input type="Submit">
 </form>PHP 
 <?php
 $host = "localhost";
 $utente = "root";
 $password = "";
 $database = "magazzino";$articolo=$_POST['articolo']; mysql_connect("$host","$utente","$password") or die (mysql_error()); 
 @mysql_select_db($database)
 or die( "Impossibile selezionare il database.");
 $query = "INSERT INTO articoli VALUES('','$articolo')";mysql_query($query) or die( "Errore nella query. Query non eseguita"); 
 ?>Creo la tabella CREATE TABLE Articoli ( 
 id INT NOT NULL AUTO_INCREMENT,
 articolo VARCHAR(30),
 PRIMARY KEY (id)
 );Cosi tutto funziona, 
 Se invece aggiungo una rigaHTML 
 <form action="inserisci.php" method="post">
 articolo: <input type="text" name="articolo"><br>
 codice: <input type="text" name="codice"><br>
 <input type="Submit">
 </form>PHP 
 <?php
 $host = "localhost";
 $utente = "root";
 $password = "";
 $database = "magazzino";$articolo=$_POST['articolo']; 
 $codice=$_POST['codice'];
 mysql_connect("$host","$utente","$password") or die (mysql_error());@mysql_select_db($database) 
 or die( "Impossibile selezionare il database.");
 $query = "INSERT INTO articoli VALUES('','$articolo',?$codice)";
 mysql_query($query) or die( "Errore nella query. Query non eseguita");
 ?>Creo la tabella CREATE TABLE Articoli ( 
 id INT NOT NULL AUTO_INCREMENT,
 articolo VARCHAR(30),
 codice VARCHAR(30),
 PRIMARY KEY (id)
 );Quando lancio il HTML mi restituisce 
 Errore nella query. Query non eseguita
 Non capisco perché.
 Mi potete aiutare.
 Grazie
 
- 
							
							
							
							
							Ciao, 
 manca un apice nella query.
 Per avere maggior informazioni sull'errore puoi comunque fare cosi:
 [php]
 mysql_query($query) or die( "Errore nella query. Query non eseguita. Errore: ".mysql_error());[/php]
 
- 
							
							
							
							
							
Anche inserendo la stringa indicata da solo questa risposta Errore nella query. Query non eseguita Per cui non capisco quale sia il problema. 
 Esiste qualche strumento per indica i problemi?
 Grazie per la pazienza
 
- 
							
							
							
							
							Quel pezzo di codice dovevi metterlo al posto di: 
 [php]
 mysql_query($query) or die( "Errore nella query. Query non eseguita");
 [/php]Ma comunque si vede benissimo che il problema è la mancanza di un apice nella query. 
 
- 
							
							
							
							
							
Infatti ho fatto cosi ma mi da solo Errore nella query. Query non eseguita Per cortesia dove manca l'apice nella query. 
 Grazie
 
- 
							
							
							
							
							Questo: 
 [php]
 $query = "INSERT INTO articoli VALUES('','$articolo',’$codice)";
 [/php]Dovrebbe essere: 
 [php]
 $query = "INSERT INTO articoli VALUES('','$articolo','$codice')";
 [/php]
 
- 
							
							
							
							
							
Ho fatto cosi <?php 
 //include('db_con.php');$host = "localhost"; 
 $utente = "root";
 $password = "";
 $database = "magazzino";$articolo=$_POST['articolo']; 
 $codice=$_POST['codice'];mysql_connect("$host","$utente","$password") or die (mysql_error()); @mysql_select_db($database) 
 or die( "Impossibile selezionare il database.");$query = "INSERT INTO articoli VALUES('','$articolo','$codice')"; mysql_query($query) or die( "Errore nella query. Query non eseguita. Errore: ".mysql_error()); ?> Risultato Errore nella query. Query non eseguita Non capisco dove sia l'errore, se cancello codice e lascio solo articolo tutto funziona. 
 Aiutoooooooooooo
 
- 
							
							
							
							
							Sinceramente per darti quella scritta, significa che non sta eseguendo quel codice, ma un altro. E' impossibile dia quel risultato, visto che il messaggio di errore è diverso da quello impostato. 
 
- 
							
							
							
							
							
per cui lo script php è coretto come l'ho fatto. 
 
- 
							
							
							
							
							Si, al massimo in caso di errori della query dovrebbe restituire un messaggio del tipo: Errore nella query. Query non eseguita. Errore: Mysql error 00.... Mentre a te da il risultato del vecchio script, senza le modifiche che ti ho indicato. 
 
- 
							
							
							
							
							
Trovato. 
 Infatti l'Html, andava a puntare in un'altro script PHP, grazie della dritta, mi stavo perdendo in un bicchiere d'acqua.Un consiglio, 
 questo script che ora funziona, quando ha messo i dati dentro il database Mysql, mi rilascia una pagina bianca.
 Come posso fare perche mi restituisca es. "inserimento eseguito" oppure che mi riporti alla pagina Html da cui è partito il comando.
 Grazie ancora
 
- 
							
							
							
							
							Per mostrare una scritta ti basta fare dei semplici echo. 
 Per il reindirizzamento su un'altra pagina:
 [php]
 header('Location: url_pagina.php');
 exit;
 [/php]
 
- 
							
							
							
							
							
Perfetto Funziona; 
 aprofitto per chiedere ancora una cosa.
 Ho fatto questo per recuperare i dati dal dbMa non funziona. 
 la tabella si chiama articoli, menre voglio visualizzare la colonna codice dove sbaglio? mi restituisce"; } ?> <?php 
 $localhost = "localhost";
 $utente = "root";
 $password = "mysql";
 $database = "prova";
 $db = mysql_connect($localhost, $utente,$password);if ($db == FALSE) 
 die ("Errore nella connessione.");$ris = mysql_select_db($utente); $query = "SELECT codice FROM articoli"; 
 $result = mysql_query($query);while ($row = mysql_fetch_array($result)) 
 {
 echo $row['codice']."<br>";
 }?>