Visualizzazione dei risultati da 1 a 6 su 6

Discussione: MySQL: INSERT INTO

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274

    MySQL: INSERT INTO

    Salve, ho una query del genere:

    codice:
    <?php
    include('dbhead.php');
    if(isset($_POST['Submit'])) {
    $js = NULL;
            /* Reading POST buffer */
            foreach($_POST[] as $key => $val) { $$key = $val; }
    /* Building query */
    $query = "INSERT INTO `hotels` (`destinazione`, `nome`, `stelle`, `localita`, `citta`, `indirizzo`, `descrizione`, `seas1`, `seas2`, `seas3`, `seas4`, `seas5`, `sr1`, `sr2`, `sr3`, `sr4`, `sr5`, `srs1`, `srs2`, `srs3`, `srs4`, `srs5`, `b02-1`, `b02-2`, `b02-3`, `b02-4`, `b02-5`, `b211-1`, `b211-2`, `b211-3`, `b211-4`, `b211-5`, `ba1`, `ba2`, `ba3`, `ba4`, `ba5`) VALUES ('$destinazione', '$nome', '$stelle, '$localita', '$citta', '$indirizzo', '$descrizione', '$seas1', '$seas2', '$seas3','$seas4', '$seas5', '$sr1', '$sr2', '$sr3', '$sr4', '$sr5', '$srs1', '$srs2', '$srs3', '$srs4', '$srs5', '$b02-1', '$b02-2', '$b02-3', '$b02-4', '$b02-5', '$b211-1', '$b211-2', '$b211-3', '$b211-4', '$b211-5', '$ba1', '$ba2', '$ba3', '$ba4', '$ba5')";
            /* Do query */
            if(mysql_query($query, $db)) {
            $js = "javascript:alert('Inserimento effettuato con successo');";
            } else {
            $js = "javascript:alert('Si e` verificato un errore durante l`inserimento!');";
            mail('v.bellini@gmail.com', 'error', mysql_error());
            }
    }
    ?>
    l'errore che mi ritorna è:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '', '-2', '-3', '-4', '-5', '-1', '-2', '-3', '-4', '-5', '', ''

    dipende dal nome delle variabili pare come posso risolvere senza cambiare il nome alle variabili?

    ciauz
    Progeny

  2. #2
    Stampa l'echo e vedi cosa risolvono le variabili.

    echo $query;


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

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    Il problema è che tutte le variabili che contengono il "-" non vengono stampate, nella query mi viene stampato solo "-1" per la var b02-1 "-2" per la var b02-2 e così via..

    come posso risolvere?
    Progeny

  4. #4
    Brutta idea usare il - che significa anche meno.... specie nel nome dei campi. Anche se usi il backquote.

    usa underscore.... b02_1.

    Assicurati poi che il foreach sia corretto come impostazione... non mi pare a prima vista....

    non capisco come dovrebbe funzionare... cosa ti aspetti da lui insomma....

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

  5. #5
    c'è anche un errore di sintassi sql:

    codice:
    [cut] VALUES ('$destinazione', '$nome', '$stelle, '$localita', [cut]
    in corrispondenza della variabile $stelle non chiudi l'apice

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    il foreach funziona correttamente; dell'apice dopo $stelle me ne sono accorto; per le variabili e i campi, sono stato costretto a rinominarli usando l'underscore

    grazie a tutti
    Progeny

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.