+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

Problema update database

Ultimo Messaggio di flaviors200 il:
  1. #1
    User Newbie
    Data Registrazione
    May 2020
    Località
    Brescia
    Messaggi
    2

    Problema update database

    Buongiorno,
    sono alle prime armi con php e sto impostando un semplice CRUD.
    Ho un problema con il file update che non mi fa aggiornare i dati del database. Non si genera nessun error_log e quando modifico i dati nel browser, il sistema mi dice che sono aggiornati correttamente ma non vengono modificati. Tutto il resto funziona. Riuscite a darmi un aiuto per favore? Di seguito il codice.
    Grazie. Francesco.
    Codice PHP:
    <?phpinclude 'functions.php';$pdo pdo_connect_mysql();$msg '';// Check if the commessa ID exists, for example update.php?ID=1 will get the commessa with the ID of 1if (isset($_GET['ID'])) {    if (!empty($_POST)) {        // This part is similar to the create.php, but instead we update a record and not insert        $id = isset($_POST['ID']) ? $_POST['ID'] : NULL;        $data = isset($_POST['data']) ? $_POST['data'] : date('Y-m-d');        $clienti = isset($_POST['clienti']) ? $_POST['clienti'] : '';        $descrizione = isset($_POST['descrizione']) ? $_POST['descrizione'] : '';        $quantita = isset($_POST['quantita']) ? $_POST['quantita'] : '';        // Update the record        $stmt = $pdo->prepare('UPDATE commesse_2020 SET ID = ?, data = ?, clienti = ?, descrizione = ?, quantita = ?, WHERE ID = ?');        $stmt->execute([$id, $data, $clienti, $descrizione, $quantita, $_GET['ID']]);        $msg = 'Aggiornata correttamente!';    }    // Get the commessa from the commesse table    $stmt = $pdo->prepare('SELECT * FROM commesse_2020 WHERE ID = ?');    $stmt->execute([$_GET['ID']]);    $commessa = $stmt->fetch(PDO::FETCH_ASSOC);    if (!$commessa) {        exit('La commessa non esiste con questo ID!');    }} else {    exit('No ID specified!');}?>
    <?=template_header
    ('Read')?>
    <div class="content update">    <h2>Modifica commessa #<?=$commessa['ID']?></h2>    <form action="update.php?ID=<?=$commessa['ID']?>" method="post">      <label for="ID">ID</label>      <input type="text" name="ID" placeholder="26" value="auto" ID="ID">      <label for="data">data</label>      <input type="datetime-local" name="data" value="<?=date('Y-m-d')?>" ID="data">      <label for="clienti">clienti</label>      <input type="text" name="clienti" placeholder="Nome cliente" ID="clienti">      <label for="descrizione">descrizione</label>      <input type="text" name="descrizione" placeholder="Descrizione" ID="descrizione">      <label for="quantita">quantita</label>      <input type="text" name="quantita" placeholder="Quantita" ID="quantita">        <input type="submit" value="Update">    </form>    <?php if ($msg): ?>    <p><?=$msg?></p>    <?php endif; ?></div>
    <?=template_footer()?>

  2. #2
    Utente Premium
    Data Registrazione
    Nov 2018
    Località
    Ragusa
    Messaggi
    336
    Aggiungi flaviors200 su Google+ Aggiungi flaviors200 su Facebook Aggiungi flaviors200 su Linkedin
    Ciao,

    incolla il codice su https://pastebin.com/ e posta il link, tutto il codice non solo una parte altrimenti è impossibile dirti cosa non va
    Sviluppo siti web dinamici e gestionali | Flaviobiscaldi.it

  3. #3
    Moderatore L'avatar di Sermatica
    Data Registrazione
    Sep 2016
    Località
    Maleo
    Messaggi
    5,030
    Aggiungi Sermatica su Facebook
    Ciao
    ti ho spostato nella sezione PHP
    MODHelp Center: consigli per il tuo progettoMODE-Commerce
    Consulente con P.IVA: SEO / SEM / Google Business / Amazon - Sermatica.it


  4. #4
    User Newbie
    Data Registrazione
    May 2020
    Località
    Brescia
    Messaggi
    2
    Grazie.

    • <?php
    • include 'functions.php';
    • $pdo = pdo_connect_mysql();
    • $msg = '';
    • // Check if the commessa ID exists, for example update.php?ID=1 will get the commessa with the ID of 1
    • if (isset($_GET['ID'])) {
    • if (!empty($_POST)) {
    • // This part is similar to the create.php, but instead we update a record and not insert
    • $id = isset($_POST['ID']) ? $_POST['ID'] : NULL;
    • $data = isset($_POST['data']) ? $_POST['data'] : date('Y-m-d');
    • $clienti = isset($_POST['clienti']) ? $_POST['clienti'] : '';
    • $descrizione = isset($_POST['descrizione']) ? $_POST['descrizione'] : '';
    • $quantita = isset($_POST['quantita']) ? $_POST['quantita'] : '';
    • // Update the record
    • $stmt = $pdo->prepare('UPDATE commesse_2020 SET ID = ?, data = ?, clienti = ?, descrizione = ?, quantita = ?, WHERE ID = ?');
    • $stmt->execute([$id, $data, $clienti, $descrizione, $quantita, $_GET['ID']]);
    • $msg = 'Aggiornata correttamente!';
    • }
    • // Get the commessa from the commesse table
    • $stmt = $pdo->prepare('SELECT * FROM commesse_2020 WHERE ID = ?');
    • $stmt->execute([$_GET['ID']]);
    • $commessa = $stmt->fetch(PDO::FETCH_ASSOC);
    • if (!$commessa) {
    • exit('La commessa non esiste con questo ID!');
    • }
    • } else {
    • exit('No ID specified!');
    • }
    • ?>

    • <?=template_header('Read')?>

    • <div class="content update">
    • <h2>Modifica commessa #<?=$commessa['ID']?></h2>
    • <form action="update.php?ID=<?=$commessa['ID']?>" method="post">
    • <label for="ID">ID</label>
    • <input type="text" name="ID" placeholder="26" value="auto" ID="ID">
    • <label for="data">data</label>
    • <input type="datetime-local" name="data" value="<?=date('Y-m-d')?>" ID="data">
    • <label for="clienti">clienti</label>
    • <input type="text" name="clienti" placeholder="Nome cliente" ID="clienti">
    • <label for="descrizione">descrizione</label>
    • <input type="text" name="descrizione" placeholder="Descrizione" ID="descrizione">
    • <label for="quantita">quantita</label>
    • <input type="text" name="quantita" placeholder="Quantita" ID="quantita">
    • <input type="submit" value="Update">
    • </form>
    • <?php if ($msg): ?>
    • <p><?=$msg?></p>
    • <?php endif; ?>
    • </div>

    • <?=template_footer()?>
    Ultima modifica di Geysermill; 25-05-20 alle 12:17

  5. #5
    Utente Premium
    Data Registrazione
    Nov 2018
    Località
    Ragusa
    Messaggi
    336
    Aggiungi flaviors200 su Google+ Aggiungi flaviors200 su Facebook Aggiungi flaviors200 su Linkedin
    Ciao,

    se magari usavi pastebin come ti avevo detto, il codice risulterebbe più leggibile

    Ad ogni modo prova a fare un pò di debug veloce con var_dump stampando il risultato dell'esecuzione della query

    Codice PHP:
    $execute $stmt->execute('UPDATE bla bla bla...');
    var_dump($execute);
    exit; 
    Inoltre stampa anche questo

    Codice PHP:
    $pdo->errorInfo(); 
    Non capisco poi il senso di aggiornare l'ID del record (SET ID = ?), a cosa ti serve?
    Sviluppo siti web dinamici e gestionali | Flaviobiscaldi.it

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.