• User Attivo

    Insert che non fa la insert

    ciao a ttt,

    non riesco a capire il motivo per cui il sistema non mi fa la insert nel db. La cosa piu "anomala" è che non mi restituisce alcun errore di sintassi...per cui nn so dove sbattere la testa.

    <html>
    
    <body>
    	<form action='<?php echo $PHP_SELF;?>' method='POST'>
    
    
    
    
    				Data: <input type="text" name="data" value=""><br>
    							
    				<?php 
    				$host = "xx.xxx.xxx.xxx";
    				$user = "Sqlyyy";
    				$pass = "rerere";
    				$db = "rererre";
    				$dbname = "portale"; 
    				$connessione=mysql_connect($host,$user,$pass)or die (mysql_error()); 
    				$dbsel = mysql_select_db($db , $connessione)or die (mysql_error());  
    
    
    
    
    
    
    				// COMBO RAGIONE SOCIALE
    				echo "Ragione sociale";
    				echo "<select name='ragionesociale'>";
    					$result = mysql_query("SELECT DISTINCT ragionesociale FROM clienti ORDER BY ragionesociale ASC");
    					while($row = mysql_fetch_array($result))
    				{
    				echo "<option value='".$row['ragionesociale']."'>".$row['ragionesociale']."</option>";
    				}
    				echo "</select>";
    				echo $row[1] . "<br/>";
    
    
    
    
    				// COMBO TIPOLOGIA LAVORO
    				echo "Tipologia Lavoro";
    				echo "<select name='tipologia_lavoro'>";
    					$result = mysql_query("SELECT DISTINCT tipologia FROM tipologia_lavoro ORDER BY tipologia ASC");
    					while($row = mysql_fetch_array($result))
    				{
    				echo "<option value='".$row['tipologia']."'>".$row['tipologia']."</option>";
    				}
    				echo "</select>";
    				echo $row[1] . "<br/>";
    
    
    
    
    
    
    				?>
    
    
    			Note: <input type="text" name="note" value=""><br>
    			Prezzo Preventivato: <input type="text" name="prezzo" value=""><br>
    			Scadenza: <input type="text" name="scadenza" value=""><br>
    			Numero Fattura: <input type="text" name="numeroFattura" value=""><br>
    			<input type="submit" value="Aggiungi">
    			
    			
    		</form>
    		
    	<?php 
    if(isset($_POST['data']))
    {
    				$host = "xx.xxx.xxx.xxxx";
    				$user = "aaaaa";
    				$pass = "dsadsadas";
    				$db = "dsadsadsa";
    				$dbname = "portale"; 
    				$connessione=mysql_connect($host,$user,$pass)or die (mysql_error()); 
    				$dbsel = mysql_select_db($db , $connessione)or die (mysql_error());  
    
    
    
    
    // RECUPERA DATI DAL FORM
    $data = $_POST['data'];
    $ragionesociale = $_POST['ragionesociale'];
    $tipologia_lavoro = $_POST['tipologia_lavoro'];
    $note = $_POST['note'];
    $prezzo = $_POST['prezzo'];
    $scadenza = $_POST['scadenza'];
    $numeroFattura = $_POST['numeroFattura'];
    
    
    
    
    //INSERT
    $toinsert = "INSERT INTO agenda_lavori (data, ragionesociale, tipologia_lavoro, note, prezzo, scadenza, numeroFattura,)
    VALUES 
    ('".$data."','".$ragionesociale."','".$tipologia_lavoro."','".$note."','".$prezzo."','".$scadenza."','".$numeroFattura."' )"; 
    
    
    //$result = mysql_query($toinsert);	
    //if($result){
    //	echo("<br>Inserimento avvenuto correttamente");
    //} else{
    //	echo("<br>Inserimento non eseguito");
    //}
    
    
    $result = mysql_query($toinsert);    
    if($result){
    echo("<br>Inserimento avvenuto correttamente");
    } else{
    echo("<br>Inserimento non eseguito");
    }
    if (isset($data)) { 
    echo ("Campo data obblicatorio");
    } 
    else { 
    echo ("OK");
    }
    
    
    }
    ?>
    
    
    
    
    <a href="home.html"><img src="../img/home.jpg" /></a>
    
    
    </body>
    </html>
    

    Grazie a tutti...


  • User Attivo

    Il campo agenda_lavori.data di che tipo è? Se è un DATE o DATETIME, se non inserisci il valore nel formato corretto non esegue l'insert


  • User Attivo

    varchar...

    cosa metto?


  • User Attivo

    ho appena provato modificando il DATE, ma l insert non la fa ancora...

    😞


  • User Attivo

    Se non ti serve fare calcoli con le date, tieni pure VARCHAR...
    Gli echo "Inserimento avvenuto" o "non avvenuto" vengono visualizzati o tutta quella parte di codice non viene letta?


  • User Attivo

    quando clicco AGGIUNGI mi visualizza
    Inserimento non eseguitoCampo popolato

    e nn fa alcuna insert


  • User Attivo

    Trovato!
    QUando hai messo sotto commento una parte di codice hai messo anche:

    //$result = mysql_query($toinsert);


  • User Attivo

    niente...ho de-commentato anche quella stringa.

    "Inserimento non eseguitoCampo popolato"

    Ma è possibile che non se ne esce? e pure sembra che fila tutto liscio...
    Sto scherando... 😢


  • User Attivo
    <?php 
    if(isset($_POST['data']))
    {
    
    # Ho cancellato la parte in cui si riconnetteva al database, l'aveva già fatto in alto e potrebbe causare errori
    
    // RECUPERA DATI DAL FORM
    $data = $_POST['data'];
    $ragionesociale = $_POST['ragionesociale'];
    $tipologia_lavoro = $_POST['tipologia_lavoro'];
    $note = $_POST['note'];
    $prezzo = $_POST['prezzo'];
    $scadenza = $_POST['scadenza'];
    $numeroFattura = $_POST['numeroFattura'];
    
    
    
    
    //INSERT
    $toinsert = "INSERT INTO agenda_lavori (data, ragionesociale, tipologia_lavoro, note, prezzo, scadenza, numeroFattura,)
    VALUES 
    ('".$data."','".$ragionesociale."','".$tipologia_lavoro."','".$note."','".$prezzo."','".$scadenza."','".$numeroFattura."' )"; 
    
    
    #Ho eliminato il commento, e non serve mettere $result= mysql_query(); perchè non devi assegnare ad una variabile dei valori presi con il select, ma solo eseguire un'azione, quindi:
      
    if(mysql_query($toinsert)){
    echo("<br>Inserimento avvenuto correttamente");
    } else{
    echo("<br>Inserimento non eseguito");
    }
     cancellato quell'if(isset($data)), perchè era già la condizione per entrare in questo if, ripeterlo non serve. Se il server legge questo, $data è settato.
    
    
    }
    ?>
    

    Prova a vedere se va, ho messo a posto il pezzo di codice da <?php a ?>, e ti ho messo dei commenti, così capisci i cambiamenti che ho fatto.
    Ciao!


  • ModSenior

    Ciao,
    l'errore è la virgola di troppo nella query:

    INSERT INTO agenda_lavori (data, ragionesociale, tipologia_lavoro, note, prezzo, scadenza, numeroFattura,)
    

    Mentre dovrebbe essere:

    INSERT INTO agenda_lavori (data, ragionesociale, tipologia_lavoro, note, prezzo, scadenza, numeroFattura)