- Home
- Categorie
- Coding e Sistemistica
- PHP
- mancato inserimento dati dopo INSERT INTO
-
Pagina insert.php
[PHP]<?php
include ("conn.php");$ragione_sociale = $_POST['ragione_sociale'];
$via = $_POST['via'];
$citta = $_POST['citta'];
$provincia = $_POST['provincia'];
$cap = $_POST['cap'];
$stato = $_POST['stato'];
$partita_iva = $_POST['partita_iva'];
$codice_fiscale = $_POST['codice_fiscale'];
$telefono = $_POST['telefono'];$query= <<<SQL
INSERT INTO anagraficaclienti (ragione_sociale, via, citta, provincia, cap, stato, partita_iva, codice_fiscale, telefono)
VALUES ("{$ragione_sociale}", "{$via}", "{$citta}", "{$provincia}", "{$cap}", "{$stato}", "{$partita_iva}", "{$codice_fiscale}", "{$telefono}");
SQL;mysqli_query($conn, $query);
echo $query;include ("close.php");
?>[/PHP]- Lancia la pagina insert.php ( ovviamente tramite form, altrimenti non avremmo i dati nel $_POST ), DEVE mostrarti in output la query.
- Torna su phpmyadmin ed incolla la query in output dalla pagina insert.php
Riprova a seguire questi passi, poi posta il messaggio d'errore.
-
ciao e grazie, di seguito lo screen
INSERT INTO anagraficaclienti (ragione_sociale, via, citta, provincia, cap, stato, partita_iva, codice_fiscale, telefono) VALUES ("azienda", "roma", "roma", "rm", "00100", "ita", "00000001", "00000001", "404030202")grazie
-
Esegui questa query su phpmyadmin e vedi l'errore che ti restituisce...
-
ciao lo screen inserito viene da phpmyadmin e mi scrive "MySQL ha restituito un insieme vuoto (i.e. zero righe). (La query ha impiegato 0.0817 sec)"
-
Non ho visto nessuno screen sfortunatamente, ma se ti dice che ha restituito un insieme vuoto la query funziona. Sei sicuro che il problema del mancato inserimento dati persista?
-
ciao, praticamente solo se inserisco la query io manualmente da phpmyadmin allora funziona e memorizza il record, altrimenti non fa nulla.
non so che pesci pigliare è davvero stranograzie mille
-
A questo punto, sei sicuro che il file conn.php stabilisca una vera connessione al DB? E che non abbia errori al suo interno? Di solito se la query funziona il problema risiede nella connessione tra PHP e MySQL.
Se anche la connessione dovesse funzionare, non so proprio come aiutarti, mi spiace!Saluti
-
ciao,
penso di si è questo<?php
$conn=mysqli_connect("localhost", "root", "password");
if (!$conn)
{
die ("connessione al database non riuscita! ".mysqli_error());
}
?>ti ringrazio del tuo aiuto ma non capisco manco io.
-
Manca il nome del database.
[PHP]$db_connection = mysqli_connect("host","user","password","database");[/PHP]
Come vedi, il costruttore richiede quattro parametri, te ne fornisci tre, per forza non funziona la query.Saluti
-
grazie mille, ho provato ora e funziona perfettamente.
mi spiace averti fatto impazzire per una "cavolata".
il php lo sto imparando.
grazie ancora.
-
Di nulla, lieto d'esserti stato d'aiuto. Tieni a mente quel "trucchetto" che ti ho illustrato in questo topic, può essere utile se avrai problemi di query in futuro.
-
Perfetto, grazie mille ancora!
-
Buongiorno ragazzi, sempre in rif. ai due files php inseriti, come posso verificare che per esempio se nel db è presente un campo come la partita iva non si reinserisca un nuovo record che lo duplica?
Ho provato ad inserire un ciclo if prima dell'istruzione, ma non mi funziona.
Grazie mille
-
Scusate ma ho risolto, lascio la soluzione
$control = mysql_query("SELECT campo FROM iscritti WHERE campo= '$campotabella'");
$countuser = mysql_num_rows($control);if ($countuser > 0) {
echo "già iscritto";
}
else
{#prosegue inserimento perchè non iscritto}grazie lo stesso