Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 47
  1. #1

    Errore del comando SQL in una pagina php

    voglio inserire in un db mysql gli attributi "Località" e "Magnitudo" dell'entità terremoti tramite textbox quindi ho creato due pagine: "Inserimento.html" e Inserimento.php

    Inserimento.html:
    Codice PHP:
    <html><title>Inserimento della segnalazione</title>
    <
    form Action "Inserimento.php ">
     
    Località<INPUT class="Input" TYPE="text" name="Località"/> 
    Magnitudo<INPUT class="input" type="text"name="Magnitudo"/> <INPUT TYPE ="Submit" Value"Invia"
    </
    FORM>
     </
    html
    Inserimento.php
    Codice PHP:
    <?php
    $Località
    =$_GET['Località'];
    $Magnitudo=$_GET['Magnitudo'];
    $conn=mysql_connect("localhost","root","");
    if(! 
    $conn){
    echo 
    "Errore durante la connessione a Mysql";
    exit();
    }else{
    echo(
    "connessione a mysql effettuata con successo. ");
    }
    mysql_select_db("terremoti") or exit ("Errore con db terremoti");
    $sqlcmd ="INSERT INTO segnalazioni VALUES";
    $sqlcmd .="('$Località','$Magnitudo')";
    echo 
    "comando: $sqlcmd 
    "
    ;
    mysql_Query($sqlcmd);
    if(
    mysql_errno()==0)
    {echo 
    "Inserimento eseguito con successo.";}
    else {echo
    "Errore nel comando";}
    mysql_close($conn);
    ?>
    Il Problema è che quando cerco di caricare il le variabili sul db, mi compare: "connessione a mysql effettuata con successo. comando: INSERT INTO segnalazioni VALUES('mascalucia','3')
    Errore nel comando".
    Perchè errore nel comando?? c'è qualcosa di sbagliato nel comando SQL o cos'altro??

  2. #2
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Ciao ,
    Prova con questa soluzione




    Codice PHP:
    $SQL  "INSERT INTO segnalazioni SET ";
    $SQL .= "`Localita` = '".$Località."',";
    $SQL .= "`Magnitudo` = '".Magnitudo."'; ";
    mysql_query($SQL); 

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    La tabella ha solo i campi "localita" e "magnitudo"?
    Se c'è anche ad esempio il campo id o altro, devi specificare nella query i campi che vuoi valorizzare, quindi:

    INSERT INTO segnalazioni (Localita,Magnitudo) VALUES ('$Località','$Magnitudo');

    Un consiglio, non usare le lettere accentate per i nomi di variabili o nomi di colonne delle tabelle.

  4. #4
    Come ha detto Alhazred, il problema sta nella query ($sqlcmd)

    Per farlo funzionare prova a fare cosi:

    HTML
    codice:
    <html><title>Inserimento della segnalazione</title> 
    <form Action = "Inserimento.php" method='POST'> 
     Localita<INPUT class="Input" TYPE="text" name="localita"/>  
    Magnitudo<INPUT class="input" type="text"name="magnitudo"/> <INPUT TYPE ="Submit" Value= "Invia">  
    </FORM> 
     </html>
    Codice PHP:
    <?php 
    $conn
    =mysql_connect("localhost","root",""); 
    if(! 
    $conn){ 
    echo 
    "Errore durante la connessione a Mysql"
    exit(); 
    }else{ 
    echo(
    "connessione a mysql effettuata con successo. "); 
    }
    mysql_select_db("terremoti") or exit ("Errore con db terremoti"); 
    $sqlcmd ="INSERT INTO segnalazioni(localita, magnitudo) VALUES('" $_POST['localita'] . "','" $_POST['magnitudo'] . "')"
    echo 
    "comando: $sqlcmd 
    "

    mysql_Query($sqlcmd); 
    if(
    mysql_errno()==0
    {echo 
    "Inserimento eseguito con successo.";} 
    else {echo
    "Errore nel comando";} 
    mysql_close($conn); 
    ?>
    Se hai domande sulle modifiche che ho apportato fai pure... Buona fortuna!

  5. #5
    nella tabella ovviamente c'è anche l'ID che è la primary key e si incrementa automaticamente nel db quindi non credo sia necessario specificarla.
    KajinDetier per quanto riguarda la modifica al pagina html non capisco a cosa serve method='POST' nel form.

  6. #6
    KajinDetier ho risolto il problema con la tua soluzione...ma non capisco a che serve il metodo POST e non tanto il GET nonostante lo ho usato io stesso nel codice

  7. #7
    Ho solo cambiato il modo in cui il FORM invia i dati (da GET a POST); Personalmente ritengo più sicuro utilizzare POST, ma è soltanto una questione di scelte, ovviamente regolati tu in base alle tue necessità!

  8. #8
    va benissimo, grazie mille dell'aiuto

  9. #9
    Ah, scusami, ti spiego subito la differenza 'pratica' che c'è tra GET e POST!

    Le variabili inviate via GET, praticamente, appaiono direttamente sul link del tuo sito... ad esempio "www.miosito.com?localita=Perugia&magnitudo=5"
    Avrai capito che queste variabili sono sempre precedute da un punto interrogativo.

    Le variabili inviate via POST, invece... non si vedono sulla barra degli indirizzi ma vengono comunque inviate in un'altra forma.

    Ho cercato di dare una spiegazione molto pratica, se hai bisogno di altre informazioni chiedi pure!

    P.S.
    Non avevo notato il tuo ultimo messaggio

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    mysql_query($query,$connessione) or die( mysql_error($connessione) ) ;

    esegui la query cosi' e vediamo se effettivamente c'e' 1 errore nella query in relazione alla tabella che devi aggiornare.

    P.S.
    Ho messo la struttura che solitamente si usa dovrai adattare il tuo codice dove esegui la query per impostarlo come descritto in modo che si possa analizzare se effettivamente la query da errore e che tipo di errore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.