Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Popolare un database

  1. #1

    Popolare un database

    ho creato un database sql...
    nel file in cui cerco di inserire dei dati, ho costruito la query, e poi ho fatto un controllo per verificare che l'utente abbia inserito dei dati...ma nn riesco ad inserire i dati nella tabella...
    come posso fare??
    ecco il listato...

    $D=trim(stripslashes($_POST["D1"]));
    $N=trim(stripslashes($_POST["T1"]));
    $t=time();
    $query="INSERT INTO `dichiarazioni` ( `chiave` , `Nome` , `dichiarazione` , `data` )
    VALUES ('', '$N' , '$D' , '$t' );";
    if (mysql_query($query, $db)){
    echo "<p align=center>Grazie per aver inviato la dichiarazione
    ";
    header("Refresh: 2;URL=dichiarazioni.php");
    }
    else{
    echo "C'è stato un problema. Riprovare

    ";
    echo "Se il problema persiste contattare Alfonso.";
    header("Refresh: 2;URL=seleziona2.php");
    }


    vi prego, aiutatemi a trovare l'errore, sono due giorni che esco pazzo...

  2. #2
    innanzitutto una sintassi più corretta

    Codice PHP:
    INSERT INTO dichiarazioni (Nome,dichiarazione,data)
    VALUES ('".$N."','".$D."',".$t."
    prima di fare la query verifica che i dati ci siano con questo codice
    Codice PHP:
    echo "<pre>";
    print_r($_POST);
    echo 
    "</pre>"
    e poi mysql_query($query) va più che bene e nell'else dell'errore della query inserisci un

    Codice PHP:
    echo mysql_erorr(); e commenta l'header 

  3. #3
    scusami, nn ho capito l'ultima parte echo mysql_erorr();
    a che serve...

  4. #4
    Codice PHP:

    else{
    echo 
    "C'è stato un problema. Riprovare 

    "
    ;
    echo 
    mysql_error();

    Provare per credere ! Ti restituisce l'errore MySql generato dalla query.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    1

    Re: Popolare un database

    Originariamente inviato da AlSith
    nn riesco ad inserire i dati nella tabella...
    come posso fare??

    $D=trim(stripslashes($_POST["D1"]));
    $N=trim(stripslashes($_POST["T1"]));
    Sostituisci stripslashes con addslashes. Nella query distingui i dati di tipo int dai dati di tipo string. I primi non hanno bisogno di virgolette, i secondi si.

  6. #6
    Se ricevi un errore il conoscerlo potrebbe aiutare..

    dalla query insert che fai, dovresti omettere il campo chiave oppure assegnare NULL invece di empty "".
    codice:
    INSERT INTO `dichiarazioni` 
    ( `chiave` , `Nome` , `dichiarazione` , `data` ) 
    VALUES 
    (NULL, '$N' , '$D' , '$t' )
    se chiave e' autoincrement ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.