Visualizzazione risultati 1 fino 3 di 3

Discussione: Errore in insert mysql

  1. #1
    scpero non è connesso Neofita
    Data registrazione
    22-09-2010
    Residenza
    Milano
    Messaggi
    27

    Predefinito Errore in insert mysql

    Ciao a tutti, nella funzione php di inserimento mi da il seguente errore:
    Error: 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 'A'')' at line 3.
    Non riesco a capire, allego il codice:

    Codice PHP:
    <?php
    //header("Location:insertform.php");

    function datediff($tipo, $partenza, $fine)
    {
    switch (
    $tipo)
    {
    case
    "A" : $tipo = 365;
    break;
    case
    "M" : $tipo = (365 / 12);
    break;
    case
    "S" : $tipo = (365 / 52);
    break;
    case
    "G" : $tipo = 1;
    break;
    }
    $arr_partenza = explode("/", $partenza);
    $partenza_gg = $arr_partenza[0];
    $partenza_mm = $arr_partenza[1];
    $partenza_aa = $arr_partenza[2];
    $arr_fine = explode("/", $fine);
    $fine_gg = $arr_fine[0];
    $fine_mm = $arr_fine[1];
    $fine_aa = $arr_fine[2];
    $date_diff = mktime(12, 0, 0, $fine_mm, $fine_gg, $fine_aa) - mktime(12, 0, 0, $partenza_mm, $partenza_gg, $partenza_aa);
    $date_diff = floor(($date_diff / 60 / 60 / 24) / $tipo);
    return
    $date_diff;
    }


    $con = mysql_connect("localhost","xxxxxx","xxxx");
    if (!
    $con)
    {
    die(
    'Could not connect: ' . mysql_error());
    }

    mysql_select_db("my_scpero", $con);
    $aa = $_POST[datanascitaaa];
    $mm = $_POST[datanascitamm];
    $gg = $_POST[datanascitagg];
    // la variabile $stringa conterrà la
    // stringa "Naviga su html.it "
    $dtn = $aa. "-" .$mm. "-" .$gg;

    $oggi = (date("d/m/Y"));
    // la data da cui effettuare il controllo e in formato giorno/mese/anno
    $dtnc = "$gg/$mm/$aa";
    $anni = datediff("A", "$dtnc", "$oggi");
    //$anni = datediff("A", "12/04/1978", "11/12/2009");

    $categoria= 'super gentleman "A"';
    if (
    $anni < 40) {
    $categoria = "Senior";
    } elseif (
    $anni < 48) {
    $categoria = "Veterano";
    } elseif (
    $anni < 56) {
    $categoria = "Gentleman";
    } elseif (
    $anni < 63) {
    $categoria = "Super Gentleman 'A'";
    } else {
    $categoria = "Super Gentleman 'B'";
    }
    $nome = $_POST[nome];
    $cognome = $_POST[cognome];
    $indirizzo = $_POST[via];
    $comuni = $_POST[comuni];

    if (
    $comuni != 0) {
    // cerco la descrizione del comune e della provincia perchè il $_post mi passa il codice (value=xxx della select)
    $sql="SELECT comune FROM `comuni` where id = $comuni";
    if (!
    mysql_query($sql,$con))
    {
    die(
    'Error: ' . mysql_error());
    }
    $result = mysql_query($sql);
    $row = mysql_fetch_row($result);
    $citta= $row[0];
    // $citta= strtoupper($citta);
    }

    $provincia = $_POST[province];
    if (
    $provincia != '') {
    $sql="SELECT sigla FROM `province` where id = $provincia";
    if (!
    mysql_query($sql,$con))
    {
    die(
    'Error: ' . mysql_error());
    }
    $result = mysql_query($sql);
    $row = mysql_fetch_row($result);
    $provincia= $row[0];
    $provincia= strtoupper($provincia);
    }

    $cittanascita = $_POST[cittanascita];
    if (
    $cittanascita != '') {
    $sql="SELECT comune FROM `cittanascita` where id = $cittanascita";
    if (!
    mysql_query($sql,$con))
    {
    die(
    'Error: ' . mysql_error());
    }
    $result = mysql_query($sql);
    $row = mysql_fetch_row($result);
    $cittanascita = $row[0];
    // $cittanascita = strtoupper($cittanascita);
    }

    $nome = strtoupper($nome);
    $cognome = strtoupper($cognome);
    $indirizzo = strtolower($indirizzo);
    $indirizzo = ucwords($indirizzo);

    if ((
    $comuni != 0)&&($cittanascita != '')) {
    $sql="INSERT INTO anagrafica (nome, cognome, indirizzo, citta, provincia, cap, email, datanascita, cittanascita, telefono, cellulare, tessera, categoria)
    VALUES
    ('
    $nome','$cognome','$indirizzo','$citta','$provincia','$_POST[cap]','$_POST[email]','$dtn','$cittanascita','$_POST[telefono]','$_POST[cellulare]','$_POST[tessera]','$categoria')
    ON DUPLICATE KEY UPDATE
    indirizzo ='
    $indirizzo',
    citta ='
    $citta',
    provincia ='
    $provincia',
    cap ='
    $_POST[cap]',
    email ='
    $_POST[email]',
    datanascita ='
    $dtn',
    cittanascita = '
    $cittanascita',
    telefono ='
    $_POST[telefono]',
    cellulare ='
    $_POST[cellulare]',
    tessera ='
    $_POST[tessera]',
    categoria ='
    $categoria'
    "
    ;

    if (!
    mysql_query($sql,$con))
    {
    die(
    'Error: ' . mysql_error());
    }
    }


    mysql_close($con)

    ?>
    [DS] Usa i tag di codice quando ne riporti ampi stralci, si legge meglio... e non esce un post kilometrico
    Ultima modifica di dementialsite : 05-01-2011 alle ore 17.44.58

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Con un errore del genere, ti converrebbe anche stampare la variabile $sql, in modo da verificare la query effettivamente eseguita.

    Comunque, posso già azzardare un'ipotesi: in PHP quando inserisci in una stringa variabili composte, devi delimitarle con le parentesi graffe, così:
    Codice PHP:
    $sql="INSERT INTO anagrafica (nome, cognome, indirizzo, citta, provincia, cap, email, datanascita, cittanascita, telefono, cellulare, tessera, categoria)
    VALUES
    ('
    $nome','$cognome','$indirizzo','$citta','$provincia','{$_POST[cap]}','{$_POST[email]}','$dtn','$cittanascita','{$_POST[telefono]}','{$_POST[cellulare]}','{$_POST[tessera]}','$categoria')
    ON DUPLICATE KEY UPDATE
    indirizzo ='
    $indirizzo',
    citta ='
    $citta',
    provincia ='
    $provincia',
    cap ='
    {$_POST[cap]}',
    email ='
    {$_POST[email]}',
    datanascita ='
    $dtn',
    cittanascita = '
    $cittanascita',
    telefono ='
    {$_POST[telefono]}',
    cellulare ='
    {$_POST[cellulare]}',
    tessera ='
    {$_POST[tessera]}',
    categoria ='
    $categoria'
    "
    ;
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    scpero non è connesso Neofita
    Data registrazione
    22-09-2010
    Residenza
    Milano
    Messaggi
    27

    Predefinito

    Funziona, grazie, sei un grande!!!!!!!!!!!!!!!!!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •