Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    17

    [MySql] errore nell'inserimento di un record

    Questo codice mi restituisce Errore nell'inserimento:

    include("top_foot.php");
    include("config.php");
    top();
    //connettersi a MYSQL, va sempre fatto
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");

    //selezionare il db
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    echo "TITOLO: ";
    echo $_POST['titolo'];
    echo "<br\n>";
    //la query per inserire i dati nella tabella
    $query = "INSERT INTO news (titolo, testo, autore, mail) VALUES ($_POST[titolo],
    $_POST[testo],
    $_POST[autore],
    $_POST[mail])";
    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Errore durante l'inserimento";
    mysql_close($db);
    foot();

    ?>

    facendo un echo su
    mysql_query($query, $db)
    non viene visualizzato nulla (variabile non inizializzata?)

    Se scrivo $_POST['titolo'] dentro alla stringa di query mi restituisce un errore di sintassi
    in quel punto.
    Se invece scrivo $_POST[titolo] no.
    Ma se scrivo $_POST[titolo] dopo echo per vedere cosa c'è dentro mi restitusce errore di sintassi, devo invece scrivere
    $_POST['titolo']

    questa non l'ho capita

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    prova con

    echo $query e controlla se è ok.

    per stampare il titolo devi usare
    echo $_POST['titolo'];

    x inglobarlo nella query invece o usi VALUES ($_POST[titolo] opure
    VALUES (" . $_POST['titolo'] . "

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    17
    Originariamente inviato da Dexx
    prova con

    echo $query e controlla se è ok.

    per stampare il titolo devi usare
    echo $_POST['titolo'];

    x inglobarlo nella query invece o usi VALUES ($_POST[titolo] opure
    VALUES (" . $_POST['titolo'] . "
    Ciao
    Grazie per avermi risposto

    la query è ok

  4. #4
    credo tu debba mettere
    VALUES ('$_POST[blabla]','$bo',ecc...)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    che errore ricevi? quando tenti di fare l'insert?

    usa il die:

    Codice PHP:
    $risultato mysql_query($query);

    if (!
    $risultato) die( echo "Errore durante l'inserimento: " mysql_error());
    else echo 
    "L'articolo è stato inserito correttamente"

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    17

    RISOLTO

    Originariamente inviato da KaNnA
    credo tu debba mettere
    VALUES ('$_POST[blabla]','$bo',ecc...)
    giusto!
    Perchè non ci ho pensato prima?
    Bisogna dunque mettere tra apici sempre e comunque i valori all'interno della query string.

    Grazie

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202

    Re: RISOLTO

    Originariamente inviato da dawide
    giusto!
    Perchè non ci ho pensato prima?
    Bisogna dunque mettere tra apici sempre e comunque i valori all'interno della query string.

    Grazie
    E' buona prassi, se hai uno spazio nel valore 6 fregato

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.