Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [APACHE] problema con query

    Ciao a tutti spero che mi possiate aiutare:
    in locale non riesco a far funzionare la query di questa pagina
    (vi evidenzio in rosso il risultato della query)

    if (isset($_POST['categoria']))
    $categoria = $_POST['categoria'];
    if (isset($_POST['cerco']))
    $cerco = $_POST['cerco'];
    if (isset($_POST['autore']))
    $autore = $_POST['autore'];
    if (isset($_POST['mail']))
    $mail = $_POST['mail'];
    if (isset($_POST['cellulare']))
    $cellulare = $_POST['cellulare'];
    if (isset($_POST['giorno']))
    $giorno = $_POST['giorno'];
    if (isset($_POST['mese']))
    $mese = $_POST['mese'];
    if (isset($_POST['anno']))
    $anno = $_POST['anno'];
    if (isset($_POST['titolo']))
    $titolo = $_POST['titolo'];
    if (isset($_POST['prezzo']))
    $prezzo = $_POST['prezzo'];
    if (isset($_POST['testo']))
    $testo = $_POST['testo'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "INSERT INTO news( titolo, testo, "
    . " data , autore, mail, cellulare, prezzo, categoria, cerco ) "
    . " VALUES ( $titolo, $testo, $data, $autore, $mail, $cellulare, $prezzo, $categoria, $cerco)";

    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente

    ";

    else
    echo "Erorre durante l'inserimento";

    mysql_close($db);

    cosa sbaglio? Eppure se nella query dentro VALUES sostituisco delle stringhe alle variabili FUNZIONA!!!

  2. #2
    VALUES ( $titolo, $testo, $data, $autore, $mail, $cellulare, $prezzo, $categoria, $cerco)

    devi mettere le apici a tutte le stringhe.

    '$titolo', '$testo' ecc....

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

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    si hai ragione, ma non funziona lo stesso

  4. #4
    Originariamente inviato da gasmor
    si hai ragione, ma non funziona lo stesso
    Se sostituendo le variabili con i valori funziona, il problema e' solo quello.

    Fai la prova del nove. Echo $query e sai quel che metti nell'INSERT.

    Eventualmente metti la segnalazione di errore alla query.

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

  5. #5
    Ma $data dov'e'?

    :master:

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

  6. #6
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    scusa ho scordato di postarlo

    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    non ho capito cosa mi hai suggerito. Sono alle prime armi

    (premetto che nella pagina che mi appare dopo con la scritta: Errore durante l'inserimento faccio un echo di tutte le variabili e me le scrive correttamente!

  7. #7
    Originariamente inviato da gasmor
    scusa ho scordato di postarlo

    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    non ho capito cosa mi hai suggerito. Sono alle prime armi

    (premetto che nella pagina che mi appare dopo con la scritta: Errore durante l'inserimento faccio un echo di tutte le variabili e me le scrive correttamente!
    mktime non vuole le virgolette ai numerelli.....

    Quello che ti ho suggerito e' di stampare la query, per verificare la risoluzione delle variabili. Hai affermato che se inserisci direttamente i valori la query va bene. Ok?

    Quindi vedi che fanno le variabili. Metti:
    codice:
    $query = "INSERT INTO news( titolo, testo, " 
    . " data , autore, mail, cellulare, prezzo, categoria, cerco ) " 
    . " VALUES ( $titolo, $testo, $data, $autore, $mail, $cellulare, $prezzo, $categoria, $cerco)"; 
    
    echo "
    $query
    ";
    e vedi quello che stampa.

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

  8. #8
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    ho capito l'ho fatto e mi scrive giustamente

    INSERT INTO news( titolo, testo, data , autore, mail, cellulare, prezzo, categoria, cerco ) VALUES ( 'bell'affare', 'prova del sito in locale con il form anonimoinsert.php e prova generale di tutto il server', '1089928800', 'fabio', 'info@bafio.it', '347/8880034', '€200.000', '5', '1')

  9. #9
    Originariamente inviato da gasmor
    INSERT INTO news( titolo, testo, data , autore, mail, cellulare, prezzo, categoria, cerco ) VALUES ( 'bell'affare', 'prova del sito in locale con il form anonimoinsert.php e prova generale di tutto il server', '1089928800', 'fabio', 'info@bafio.it', '347/8880034', '€200.000', '5', '1')
    è l'apice che rompe

    cambia tutto in

    if (isset($_POST['categoria']))
    $categoria = addslashes($_POST['categoria']);

    e magari modifica

    else
    echo "Erorre durante l'inserimento";

    in
    else
    echo "Erorre durante l'inserimento: ".mysql_error();

  10. #10
    Si e' l'apice. e gia' che ci sei metti addslashes anche agli altri campo testo.


    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.