Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10

    Errore SQL su query di inserimento

    Salve a tutti, premetto che sono alle prime armi con php e dopo aver letto tanto su di esso mi sono deciso a fare qualche test. Ho creato una specie di gestionale clienti prodotti, tramite form invio i dati di insermimento a mysql, se aggiungo clienti nessun problema ma se aggiungo prodotti mi restituisce sempre un Errore di inserimento Prodotto: Errore di sintassi nella query SQL vicino a 'mod , sernum , partnum , prodotto) VALUES (NULL , '1' , 'HP' , 'Pavilion' , ' linea 1. Sto impazzendo... mi dareste una mano please...

    Posto il codice
    Codice PHP:
          <?php
        
    // CONNESSIONE AL DATABASE
        
    include('connect.php');

        
    // RECUPERA DATI DAL FORM
        
    $nomin $_POST['nomin'];


        
    // RECUPERA DATI DAL FORM
        
    $marca $_POST['marca'];
        
    $mod $_POST['mod'];
        
    $sernum $_POST['sernum'];
        
    $partnum $_POST['partnum'];
        
    $prodotto $marca." ".$mod;
        
    $prodotto addslashes(stripslashes($prodotto));

        
    // Controllo se il prodotto esiste
        
    $querycf mysql_query("SELECT * FROM prodotti WHERE sernum = '$sernum'");
        
    $number=mysql_num_rows($querycf);
            if (
    $number == "0") {
            
    // INSERISCI NUOVO PRODOTTO IN DATABASE
            
    $query "INSERT INTO prodotti (idprod , idcli , marca , mod , sernum , partnum , prodotto) 
            VALUES (NULL , '
    $nomin' , '$marca' , '$mod' , '$sernum' , '$partnum' , '$prodotto')";
            
    //echo $nomin." ".$marca." ".$mod." ".$sernum." ".$partnum." ".$prodotto;
            
            
    if (@mysql_query($query)) 
            {
            echo (
    "<div align=center class=testo> [b]Prodotto inserito con successo.[/b]</div>");
            } 
            else 
            {
            echo (
    "<div align=center class=testo> [b]Errore di     inserimento Prodotto: "mysql_error() ."[/b]</div>");
            }
        } 
        else 
        {
            echo (
    "<div align=center class=testo> [b]Prodotto già presente.[/b]</div>");
        }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10
    Vi posto anche il codice del form, se può essere di aiuto

    Codice PHP:
      <form id="form1" name="form1" method="post" action="addprod.php" onSubmit="return controllo()">
        <fieldset>
          <legend>Inserimento nuovi prodotti</legend>
          


          <?php
        
    // CONNESSIONE AL DATABASE
        
    include('connect.php');
            
    $query="SELECT idcli, nomin, cfpiva FROM anagrafica ORDER BY nomin";
        
    $res mysql_query($query);
            if (
    $res && mysql_num_rows($res)>0){
        
    ?>
          <label for="nomin">[b]Nominativo[/b]</label>
        <select name="nomin">
            <option selected="">Selezionare nominativo</option>

        <?php
               
    while($row=mysql_fetch_assoc($res)){
        
    ?>
       <option value="<?php echo $row['idcli']?>">    <?php echo $row['nomin']?> <?php echo $row['cfpiva']?></option>
        <?php
       
    }
        
    ?>
        </select>
        <?php
        
    }
        
    ?>
            <label for="marca">

              

              Marca:</label>
            <input name="marca" type="text" id="marca" size="40" />
            <label for="mod">Modello:</label>
            <input name="mod" type="text" id="mod" size="40" />
            <label for="sernum">

              

              Serial n°:</label>
            <input name="sernum" type="text" id="sernum" size="39" />
            <label for="partnum">Part n°:</label>
            <input name="partnum" type="text" id="partnum" size="40" />
              

          </label>
          </p>
          


            <input type="submit" name="invia" id="invia" value="Invia" />
          </p>
        </fieldset>
      </form>

  3. #3
    Non è che il campo sernum è numerico? In tal caso devi togliere gli apici.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10
    Il campo sernum e tipo varchar, anche se ho provato ad inserire sia num che lettere, mi da sempre errore...

  5. #5
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    MOD/mod è il nome di una funzione, sinonimo di mudulus/'%'/resto della divisione
    http://dev.mysql.com/doc/refman/5.0/...l#function_mod

    O cambi il nome del campo o usi i backtick (ALT GR + apostrofo su linux, su win non saprei):
    codice:
    ...marca , `mod` , sernum.....
    se puoi cambialo basta non sia tra queste :
    http://dev.mysql.com/doc/refman/5.5/...ved-words.html

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10
    Grazie mille, credevo che non influisse su una colonna di tabella... sorry
    Ora provo subito e vi faccio sapere...

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10
    FUNZIONAAA!!! Thank x l'aiuto, se ho altri problemi posso contare su di voi???

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.