- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema PHP my sql
-
Problema PHP my sql
Ciao 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>";
}?>