Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema insert PDO

  1. #1

    problema insert PDO

    Salve
    sto provando ad effettuare un semplice insert utilizzando PDO.
    leggendo un pò ho abbozzato questo script.
    Codice PHP:
    <?php

    class Liste {
        
                
                
                function 
    lista ($valore$tabella$campo) {
                            
                
    $servername "localhost";
                
    $username "root";
                
    $password "";
                
    $dbname "prove";
                
                try {
                    
    $conn = new PDO("mysql:host=$servername;dbname=$dbname"$username$password);
                    
    //echo "Collegato con successo!";
                    
    }
                catch(
    PDOException $error)
                    {
                    echo 
    $error->getMessage();
                    }
                
                
                
                
                    
    $sql "INSERT INTO $tabella ($campo)
                    VALUES ('"
    .$valore."')";
                    
                    
    $conn->exec($sql);
                    
                    echo 
    "Nuovo elemento '$valore' registrato nel database!";
                    
                    if(!
    $conn)
                    {
                        die(
    "Errore nell'esecuzione della query: "$conn->errorInfo());
                    }
                    
                    
                    
    $conn null;

                }
                
                
                




    $ist = new Liste();
    $ist->lista('dato','dati','titolo'); 




    ?>
    se eseguo lo script, viene restituito come risultato "Nuovo elemento '$valore' registrato nel database!" ma verificando su phpmyadmin in realtà non viene scritto nulla.

    grazie.

    ps. se riscontrate delle illogicità nel codice fatemele presente

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Dopo l'esecuzione della query non fai alcun controllo, quindi il messaggio appare anche se la query va in errore.

  3. #3
    grazie ho modificato così e adesso funziona

    Codice PHP:
    $conn->exec($sql) or die ("ERROR: " implode(":"$conn->errorInfo())); 
    ps. l'errore risiedeva nel fatto che un altro campo della tabella era vuoto, l'ho impostato a null ed ha funzionato. con la query insert devo necessariamente riempire tutti i campi della tabella??
    Ultima modifica di cablos; 28-10-2014 a 20:03

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.