[PHP] PDO.bindingParam

Knai

Nuovo Utente
10 Mar 2017
9
0
1
39
Ciao Ragazzi è incredibile non riesco a trovare il problema in questo semplicissimo programma:
Riesco a visualizzare le textbox contenenti i dati , ma non riesco ad aggiornare il DB:
l output mi da sempre Non trasmesso;

PHP:
//File: allievo.php
public function stored(){
        //update query
        $query = "UPDATE ". $this->table_name ."SET stato = 'STORED' WHERE idAllievo = :id";
        //prepare the query
        try{
            $stmt = $this->conn->prepare($query);
        }catch (Exception $e) {
                echo 'Problema di prepare',  $e->getMessage(), "\n";

        }
        //echo($this->idAllievo);
        try{
        // unique ID of record to be edited
        $stmt->bindParam(':id', $this->idAllievo);
        }catch (Exception $e) {
                echo 'Problema di binding',  $e->getMessage(), "\n";

        }
        // execute the query
        if($stmt->execute()){
            echo("OK");
        }else{
            echo("Non Trasmesso");
        }
        
        
        
    }

e l HTML:

Codice:
// include classes
include_once '../../config/database.php';
include_once '../../objects/allievo.php';

// get database connection
$database = new Database();
$db = $database->getConnection();
//var_dump($db);

// initialize objects
$allievo = new Allievo($db);

// set page title
$page_title = "<a href='read_allievi.php'>Allievi</a> / Stored allievo";

// include page header HTML
include_once "../layout_head.php";

echo "<div class='col-md-12'>";

    // get allievo id on the URL parameter
    $allievo_id=isset($_GET['id']) ? $_GET['id'] : die('Missing allievo ID.');

// check if value was posted
if($_POST){
    // set allievo id property
            $allievo->idAllievo=$allievo_id;
/*---------------------------------------------------------------------------------------------------
        // set posted values to allievo properties
        $allievo->cognome=$_POST['cognome'];
        $allievo->nome=$_POST['nome'];
        
        $allievo->stato=$_POST['stato'];
        $allievo->id=$allievo_id;

        // update allievo
        if($allievo->update()){
            $allievo->readOne();
            /*
            // get currently logged in allievo first name
            $user->id=$_SESSION['user_id'];
            $allievo->readOne();

            // change saved firstname
            $_SESSION['firstname']=$user->firstname;
---------------------------------------------------------------------------------------------------*/
        
            //update allievo
        if($allievo->stored()){
            
            
            // tell allievo it was updated
            echo "<div class='alert alert-success'>L'allievo è stato modificato</div>";
        }

        // unable to edit allievo
        else{
            echo "<div class='alert alert-danger' role='alert'>E' stato impossibile modificare l'allievo.</div>";
        }

    }

    // set allievo id property
    $allievo->idAllievo=$allievo_id;

    // read allievo details
    $allievo->readOne();
    ?>

    <!-- HTML form to update allievo -->
    <form action='stored_allievo.php?id=<?php echo $allievo_id; ?>' method='post' id='stored-allievo'>

        <table class='table table-hover table-responsive table-bordered'>

            <tr>
                <td class='width-30-percent'>Cognome</td>
                <td><input type='text' name='cognome' value="<?php echo $allievo->cognome; ?>" class='form-control' required></td>
            </tr>

            <tr>
                <td>Nome</td>
                <td><input type='text' name='nome' value="<?php echo $allievo->nome; ?>" class='form-control' required></td>
            </tr>
            
            <tr>
                <td>Stato</td>
                <td>   
                            <input type="text" name="stato" value="<?php echo $allievo->stato;?>">?       
                </td>
            </tr>
            
            <tr>
                <td></td>
                <td>
                    <button type="submit" class="btn btn-primary">
                        <span class="glyphicon glyphicon-edit"></span> Stored allievo
                    </button>
                </td>
            </tr>

        </table>
    </form>

<?php
echo "</div>";

// include page footer HTML
include_once "../layout_foot.php";
?>
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Immagino tu abbia utilizzato un Custom QB o semplicemente lib php native...
Ti invito ad utilizzare una lib nello specifico https://medoo.in .
Semplicemente per gli aggiornamenti basterebbe questa linea di codice
PHP:
$conn->update($table, $data, $where);
Non prediligo la notazione
$query = "UPDATE ". $this->table_name ."SET stato = 'STORED' WHERE idAllievo = :id";
ma questa:
PHP:
$stmt = "UPDATE ". $this->table_name ."SET stato = 'STORED' WHERE idAllievo = ?";
$stmt->bind_param("i", $id_utente);

Sarebbe utile utilizzare la notazione array e recuperare dallo schema la tipologia di dato da inserire ed effettuare l'automapping dei dati...
 

Knai

Nuovo Utente
10 Mar 2017
9
0
1
39
Grazie a te Macus ho risolto... era sbagliata la query non avevo lasciato lo spazio tra "UPDATE".$this->table_name.
incredibile!! grazie macis
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Interrompere DROP TABLE con PDO PHP 0
M [PHP] Alternativa a datagrid con PDO PHP 6
M [PHP] Creare un menu a tendina con pdo PHP 18
M [PHP] Array di array - PDO PHP 2
W [PHP] Creazione classe PDO PHP 4
F PHP, PDO e visualizzazioni errori e/o eccezioni PHP 3
3_g [PHP] mvc, pdo e classi... PHP 7
F php PDO mysql connessione(select_db) PHP 3
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
C [PHP] PDO prepared statement - select query errore PHP 7
ANDREA20 [PHP] Errore $this->db_connection = new PDO PHP 0
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
MarcoGrazia [PHP][PDO] Come connettersi al database Snippet PHP 0
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
R Organizzazione PHP Mysql PDO PHP 15
voldemort PHP PDO: non c'ho capito niente PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1

Discussioni simili