• User Attivo

    Avvertimento query

    Ciao a tutti!
    Ho provato a fare la mia seconda query ma purtroppo mi dà questo avvertimento...

    [php]
    <?php
    mysql_connect("62","Sql","pass");
    mysql_select_db("S_2");
    //creo l'array con il giorno/mese/anno
    $arr_data = explode ( "/", $_POST['data_di_nascita3'] );
    //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['s'] ) . "'" .
    ", '" . addslashes ( $_POST['so'] ) . "'" .
    ", '" . 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_di'] ) . "'" .
    ", '" . addslashes ( $_POST['ingresso'] ) . "'" .
    ", '" . addslashes ( $_POST['a'] ) . "'" .
    ", '" . addslashes ( $_POST['precedenti'] ) . "'" .
    ", '" . addslashes ( $_POST['altri_problemi'] ) . "'" .
    ", '" . addslashes ( $_POST['a_domiciliare'] ) . "'" .
    ", " . time() . "" .
    ")";
    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

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

    echo '<a href="">'.stripslashes ( $cliente['cognome'] ) . ' ' . stripslashes ( $cliente['nome'] ) . '</a>, ' .
    stripslashes ( $cliente['s'] ) . ''.stripslashes ( $cliente['so'] ) .
    stripslashes ( $cliente['sesso'] ) .
    ' nato il ' . date( 'd/m/Y' , $cliente['data_di_nascita'] ) . ', ' .
    ' a ' . stripslashes ( $cliente['citta_di_nascita'] ) . '
    '.stripslashes ( $cliente['residenza'] ) . '
    '.stripslashes ( $cliente['stato_civile'] ) . '
    '.stripslashes ( $cliente['figli'] ) . '
    '.stripslashes ( $cliente['telefono_abitazione'] ) . '
    '.stripslashes ( $cliente['telefono_cellulare'] ) . '
    '.stripslashes ( $cliente['utente_da_contattare'] ) . '
    '.stripslashes ( $cliente['telefono_abitazione2'] ) . '
    '.stripslashes ( $cliente['telefono_cellulare2'] ) . '
    '.stripslashes ( $cliente['istruzione'] ) . '
    '.stripslashes ( $cliente['professione'] ) . '
    '.stripslashes ( $cliente['religione'] ) . '
    '.stripslashes ( $cliente['tipo_di_'] ) . '
    '.stripslashes ( $cliente['ingresso'] ) . '
    '.stripslashes ( $cliente['a'] ) . '
    '.stripslashes ( $cliente['precedenti'] ) . '
    '.stripslashes ( $cliente['altri_'] ) . '
    '.stripslashes ( $cliente['domiciliare'] ) .
    'accettato il ' . date( 'd/m/Y', $cliente['registrazione'] ) .
    'alle ' . date( 'H:i' , $cliente['registrazione'] ) .
    '<br>';
    }
    ?>
    [/php]
    mi dà questo avvertimento...
    Warning: mktime() expects parameter 5 to be long, string given in D:\Inetpub\webs\areacriticapediacom\public\clienti\form.php on line 8
    query 'INSERT INTO elenco_clienti VALUES ( '', 'Traumatologia', 'Medicina', 'Pippolo', 'Mario', 'M', , 'Verona', 'Verona Via Bologna 11/23 ', 'Coniugato', , '010/4567543', '347/2123456', 'Figlio Antonio', '', '', 'Media superiore', 'Falegname in pensione', 'cattolica', 'Ordinario', '', 'Captopril', '', '', '', 1226758889)' fallita :::: 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 ' 'Verona', 'Verona Via Bologna 11/23 ', 'Coniugato', , '010/4567543', '347/2123' at line 1

    Potete aiutarmi per favore? Grazie tantissime! :wink3:


  • User Attivo

    Prova così:

    $data_di_nascita =date ("M-d-Y",mktime( 0 , 0 , 0 , $arr_data[1] , $arr_data[0] , $arr_data[2] ));

    Comunque, ti conviene creare 3 select per inserire la data di nascita, e non un unico campo di testo...

    E poi, credo che l'errore sia anche qui:

    "INSERT INTO elenco_clienti VALUES (" .

    prova con "INSERT INTO elenco_clienti (campo1, campo2, campo3...campoN)VALUES (" .


  • User Attivo

    Grazie, con la mia prima query avevo fatto la stessa sintassi e mi funzionava, ora non capisco perchè non funzioni...ho cambiato solo dei campi niente di più, piccole cose...


  • User Attivo

    Cosa hai cambiato?


  • User Attivo

    Ho aggiunto un pò di campi...

    ", '" . addslashes ( $_POST['nome'] ) . "'" .
    e basta...