• User Attivo

    Query errata + notice

    Ciao! Vi posto questo codice php 🙂

    [PHP]<?php
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);
    //creo l'array con il giorno/mese/anno
    $arr_data = explode ( "/", $_POST['data_di_nascita'] );
    //converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
    $data_di_nascita = mktime( 0 , 0 , 0 , $arr_data[1] , $arr_data[0] , $arr_data[2] );
    //inserimento del nuovo cliente
    $query = "INSERT INTO elenco_clienti VALUES (" .
    " ''" .
    ", '" . addslashes ( $_POST['soc'] ) . "'" .
    ", '" . addslashes ( $_POST['soc_di_appartenenza'] ) . "'" .
    ", '" . addslashes ( $_POST['cognome'] ) . "'" .
    ", '" . addslashes ( $_POST['nome'] ) . "'" .
    ", '" . addslashes ( $_POST['sesso'] ) . "'" .
    ", " . $data_di_nascita . "" .
    ", '" . addslashes ( $_POST['citta_di_nascita'] ) . "'" .
    ", '" . addslashes ( $_POST['residenza'] ) . "'" .
    ", '" . addslashes ( $_POST['stato_civile'] ) . "'" .
    ", " . $figli . "" .
    ", '" . addslashes ( $_POST['telefono_abitazione'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_cellulare'] ) . "'" .
    ", '" . addslashes ( $_POST['utente_da_contattare'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_abitazione2'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_cellulare2'] ) . "'" .
    ", '" . addslashes ( $_POST['istruzione'] ) . "'" .
    ", '" . addslashes ( $_POST['professione'] ) . "'" .
    ", '" . addslashes ( $_POST['religione'] ) . "'" .
    ", '" . addslashes ( $_POST['tipo'] ) . "'" .
    ", '" . addslashes ( $_POST['ingresso'] ) . "'" .
    ", '" . addslashes ( $_POST['alle'] ) . "'" .
    ", '" . addslashes ( $_POST['prece'] ) . "'" .
    ", '" . addslashes ( $_POST['altri_problemi'] ) . "'" .
    ", '" . addslashes ( $_POST['te'] ) . "'" .
    ", " . time() . "" .
    ")";
    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );
    while ( $cliente = mysql_fetch_array( $risultato ) )
    {

         echo         stripslashes ( $cliente['soc'] ) . ''.stripslashes ( $cliente['soc_di_appartenenza'] ) . "<br>" .
                      stripslashes ( $cliente['cognome'] ) . ' ' . stripslashes ( $cliente['nome'] ) . "<br>" .
                      stripslashes ( $cliente['sesso'] ) . "<br>" .
        ' nato il ' . date( 'd/m/Y' , $cliente['data_di_nascita'] ) . "<br>" . 
        ' a ' .       stripslashes ( $cliente['citta_di_nascita'] ) . "<br>" .
                    stripslashes ( $cliente['residenza'] ) . "<br>" .
                    stripslashes ( $cliente['stato_civile'] ) . 
                    stripslashes ( $cliente['figli'] ) . "<br>" .
                    stripslashes ( $cliente['telefono_abitazione'] ) . "<br>" .
                    stripslashes ( $cliente['telefono_cellulare'] ) . "<br>" .
                    stripslashes ( $cliente['utente_da_contattare'] ) . "<br>" .
                    stripslashes ( $cliente['telefono_abitazione2'] ) . "<br>" .
                    stripslashes ( $cliente['telefono_cellulare2'] ) . "<br>" .
                    stripslashes ( $cliente['istruzione'] ) . "<br>" .
                    stripslashes ( $cliente['professione'] ) . "<br>" .
                    stripslashes ( $cliente['religione'] ) . "<br>" .
                    stripslashes ( $cliente['tipo'] ) . "<br>" .
                    stripslashes ( $cliente['ingresso'] ) . "<br>" .
                    stripslashes ( $cliente['alle'] ) . "<br>" .
                    stripslashes ( $cliente['prece'] ) . "<br>" .
                    stripslashes ( $cliente['altri_problemi'] ) . "<br>" .
                    stripslashes ( $cliente['te'] ) . "<br>" .
             'accettato il ' . date( 'd/m/Y', $cliente['data_registrazione'] ) . 
            'alle ' . date( 'H:i' , $cliente['data_registrazione'] ) . 
            '<br>';
    

    }
    ?>
    [/PHP]

    Mi dà questo:

    Notice: Undefined offset: 1 in c:\programmi\easyphp1-8\www\form.php on line 17

    Notice: Undefined offset: 2 in c:\programmi\easyphp1-8\www\form.php on line 17

    Notice: Undefined variable: figli in c:\programmi\easyphp1-8\www\form.php on line 31
    query 'INSERT INTO elenco_clienti VALUES ( '', 'fruttivendolo', 'ortofrutticolo', 'Pino', 'Pallo', 'M', 944780400, 'verona', 'verona', 'Celibe/Nubile', , '2354654', '6785667', 'padre', '4534555', '5647323', '3 media', 'contadino', 'cattolica', 'Urgente', 'febbre', 'nulla', 'no', 'no', 'no', 1244943479)' fallita :::: Errore di sintassi nella query SQL vicino a ' '2354654', '6785667', 'padre', '4534555', '5647323', '3 media', 'contadino', 'c' linea 1

    Grazie!


  • ModSenior

    Cioa Fabrizio23,

    L'errore è qua:
    [php]", " . $figli . "" . [/php]
    La variabile $figli non è definita quindi nella query c'è , , e la sintassi non è corretta.


  • User Attivo

    Ciao! Ti ringrazio molto! Ti devo dire una cosa...su hosting Aruba tutto và alla perfezione...perchè il locale non và??? E' tutto precisamente identico! :bho:


  • ModSenior

    Ma il valore di $figli da dove viene preso?


  • User Attivo

    Ho modificato il codice così:

    [php]<?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    //inserimento del nuovo cliente
    $query = "INSERT INTO elenco_clienti VALUES (" .
    " ''" .
    ", '" . addslashes ( $_POST['soc'] ) . "'" .
    ", '" . addslashes ( $_POST['soc_di_appartenenza'] ) . "'" .
    ", '" . addslashes ( $_POST['cognome'] ) . "'" .
    ", '" . addslashes ( $_POST['nome'] ) . "'" .
    ", '" . addslashes ( $_POST['sesso'] ) . "'" .
    ", " . addslashes ( $_POST['data_di_nascita'] ) . "'" .
    ", '" . addslashes ( $_POST['citta_di_nascita'] ) . "'" .
    ", '" . addslashes ( $_POST['residenza'] ) . "'" .
    ", '" . addslashes ( $_POST['stato_civile'] ) . "'" .
    ", " . addslashes ( $_POST['figli'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_abitazione'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_cellulare'] ) . "'" .
    ", '" . addslashes ( $_POST['utente_da_contattare'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_abitazione2'] ) . "'" .
    ", '" . addslashes ( $_POST['telefono_cellulare2'] ) . "'" .
    ", '" . addslashes ( $_POST['istruzione'] ) . "'" .
    ", '" . addslashes ( $_POST['professione'] ) . "'" .
    ", '" . addslashes ( $_POST['religione'] ) . "'" .
    ", '" . addslashes ( $_POST['tipo'] ) . "'" .
    ", '" . addslashes ( $_POST['dia'] ) . "'" .
    ", '" . addslashes ( $_POST['alle'] ) . "'" .
    ", '" . addslashes ( $_POST['prece'] ) . "'" .
    ", '" . addslashes ( $_POST['altri] ) . "'" .
    ", '" . addslashes ( $_POST['tera'] ) . "'" .
    ", " . time() . "" .
    ")";
    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );
    while ( $cliente = mysql_fetch_array( $risultato ) )
    {

    echo stripslashes ( $elenco_clienti['soc'] ) . "<br>" .
    stripslashes ( $elenco_clienti['soc_di_appartenenza'] ) . "<br>" .
    stripslashes ( $elenco_clienti['cognome'] ) . "<br>" .
    stripslashes ( $elenco_clienti['nome'] ) . "<br>" .
    stripslashes ( $elenco_clienti['sesso'] ) . "<br>" .
    stripslashes ( $elenco_clienti['data_di_nascita'] ) . "<br>" .
    stripslashes ( $elenco_clienti['citta_di_nascita'] ) . "<br>" .
    stripslashes ( $elenco_clienti['residenza'] ) . "<br>" .
    stripslashes ( $elenco_clienti['stato_civile'] ) . "<br>" .
    stripslashes ( $elenco_clienti['figli'] ) . "<br>" .
    stripslashes ( $elenco_clienti['telefono_abitazione'] ) . "<br>" .
    stripslashes ( $elenco_clienti['telefono_cellulare'] ) . "<br>" .
    stripslashes ( $elenco_clienti['utente_da_contattare'] ) . "<br>" .
    stripslashes ( $elenco_clienti['telefono_abitazione2'] ) . "<br>" .
    stripslashes ( $elenco_clienti['telefono_cellulare2'] ) . "<br>" .
    stripslashes ( $elenco_clienti['istruzione'] ) . "<br>" .
    stripslashes ( $elenco_clienti['professione'] ) . "<br>" .
    stripslashes ( $elenco_clienti['religione'] ) . "<br>" .
    stripslashes ( $elenco_clienti['tipo'] ) . "<br>" .
    stripslashes ( $elenco_clienti['dia'] ) . "<br>" .
    stripslashes ( $elenco_clienti['alle'] ) . "<br>" .
    stripslashes ( $elenco_clienti['pre'] ) . "<br>" .
    stripslashes ( $elenco_clienti['altri'] ) . "<br>" .
    stripslashes ( $elenco_clienti['te'] ) . "<br>" .
    stripslashes ( $elenco_clienti['data_registrazione'] ) . "<br>" .
    'accettato il ' . date( 'd/m/Y', $cliente['data_registrazione'] ) .
    'alle ' . date( 'H:i' , $cliente['data_registrazione'] ) .
    '<br>';
    }
    ?>[/php]

    Mi dà questo:

    Notice: Undefined index: sesso in c:\programmi\easyphp1-8\www\form.php on line 23

    Notice: Undefined index: stato_civile in c:\programmi\easyphp1-8\www\form.php on line 27

    Notice: Undefined index: tipo in c:\programmi\easyphp1-8\www\form.php on line 37
    query 'INSERT INTO elenco_clienti VALUES ( '', '', '', '', '', '', ', '', '', '', ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1244992663)' fallita :::: Il numero delle colonne non corrisponde al conteggio alla riga 1

    Cosa non và?
    Grazie!


  • ModSenior

    Nel modulo che invii non ci sono i campi input sesso, stato_civile e tipo.