Revisione codice php modifica record

di il
1 risposte

Revisione codice php modifica record

Ciao a tutti. Volevo chiedervi un piccolo aiuto per il codice inserito di seguito che ho revisionato (era obsoleto e non più funzionante sul DB).
Quando richiamo un record e tento la modifica sembra funzionare tutto, con tanto di conferma dell'avvenuto aggiornamento inserita dopo la chiusura delle azioni, ma il record non si aggiorna.
Tra l'altro ci sono forse delle imperfezioni anche sui richiami delle etichette dei vari campi...

Avete delle idee, per le quali vi ringrazio in anticipo:
<?php
        
        $host = 'localhost';
        $user = 'legalys';
        $password = '';
        $db = 'my_legalys';
        
        $confirm=$_REQUEST['confirm'];
        $id=$_REQUEST['id'];
         
        
        $conne = mysqli_connect($host, $user, $password, $db) or die ("impossibile connettersi al server $host");
        mysqli_select_db($conne, $db) or die ("impossibile connettersi al database $db");
          
        if (!$confirm)
{                          
        
                $query = "SELECT * FROM lp WHERE id=$id";         

$dbresult = mysqli_query($conne, $query);
$AffectedRows = mysqli_affected_rows($conne);
if ($AffectedRows==0)
{
      print("<h3>Non esistono record con i criteri selezionati</h3>");  
       }
else
{
mysqli_data_seek($dbresult,0);
$row=mysqli_fetch_row($dbresult);

   print("<form method=\"post\"action=\"{$_SERVER['PHP_SELF']}\">");     
print("<table>");
   foreach ($row as $k => $v)
{

       $myfield = mysqli_fetch_field($dbresult,$k);       
print("<tr><td>$myfield->name</td>");

print("<td><input type=\"text\" value=\"" . $v . "\" name=\"" . $myfield->name . "\" size=\"100\" maxlength=\"100\" ></td></tr>");
       
}

print("<tr><td colspan=\"2\"><input type=\"submit\" value=\"Conferma Modifiche\"></td></tr>  ");
        
print("<input type=\"hidden\" name=\"confirm\" value=\"1\">");      

print("<h3><a href=\"index1.html\">Torna al Menù</a></h3>");

print("</table>"); 
print("</form>");
 
mysqli_free_result($dbresult);
mysqli_close($conne);
}
}
else
{
$titolo=$_REQUEST['TITOLO'];
  $artista=$_REQUEST['ARTISTA'];  
    $sett=$_REQUEST['SETT'];
    $supp=$_REQUEST['SUPP'];
    $form=$_REQUEST['FORM'];
    $conf=$_REQUEST['CONF'];
        $ediz=$_REQUEST['EDIZ'];
        $naz=$_REQUEST['NAZ'];
        $st=$_REQUEST['ST'];
        $barcode=$_REQUEST['BARCODE'];
        $cod=$_REQUEST['COD'];
        $crisbc=$_REQUEST['CRISBC'];
        $anno_ed=$_REQUEST['ANNO_ED'];
            $anno=$_REQUEST['ANNO'];
        $etic=$_REQUEST['ETIC'];
        $brani=$_REQUEST['BRANI'];
            $note=$_REQUEST['NOTE'];
            $bustatesti=$_REQUEST['bustatesti'];
        $prezzo=$_REQUEST['PREZZO'];
            $cond=$_REQUEST['COND'];
            $dett=$_REQUEST['DETT'];
                $num=$_REQUEST['NUM'];
            $copie=$_REQUEST['COPIE'];
                        $link=$_REQUEST['LINK'];

    $query = "update lp set titolo=\"$titolo\"," . " artista=\"$artista\","
                      . " sett=\"$sett\"," 
                    . " supp=\"$supp\","
                         . " form=\"$form\","
                     . " conf=\"$conf\","
                      . " ediz=\"$ediz\","
                         . " naz=\"$naz\","
                            . " st=\"$st\","
                            . " barcode=\"$barcode\","
                                 . " cod=\"$cod\","
                                 . " crisbc=\"$crisbc\","
                                . " anno_ed=\"$anno_ed\","
                               . " anno=\"$anno\","
                                  . " etic=\"$etic\","
         . " brani=\"$brani\","
         . " note=\"$note\","
         . " bustatesti=\"$bustatesti\","
         . " prezzo=\"$prezzo\","
         . " cond=\"$cond\","
         . " dett=\"$dett\","
         . " num=\"$num\","
              . " copie=\"$copie\","
                  . " link=\"$link\""
                  . "where id=$id";
           
$dbresult = mysqli_query($conne, $query);
$AffectedRows = mysqli_affected_rows($conne);
if ($AffectedRows!=0)
{
print("<h3>Il Record è Stato Aggiornato Con Successo</h3>");
print("<h3><a href=\"index1.html\">Torna Al Menu</a></h3>");
print("<h3><a href=\"search_mob.html\">Nuova Ricerca</a></h3>");
print("<h3><a href=\"insert.html\">Inserimento Record</a></h3>");
}
mysqli_close($conne);
}
        
        ?>

1 Risposte

  • Re: Revisione codice php modifica record

    Salve Benvenuto precog1974.
    In realtà mysqli_affected_rows > 0 per UPDATE significa funziona se -1 qualche errore, se 0 altra casistica.
    Per debug stampa a video il valore della funzione citata in precedenza, $var = 'testo da contenitore variabile'; var_dump('semplice testo', $var);
    abilita in cima error_reporting(-1);
    Ad occhio penso che il tipo VARCHAR o comunque stringa di mysql va tra gli apici campo='testo stringa' (attenzione $var = 'testo'; // questa è la sintassi php stringa, mentre l'output
    dovrebbe essere 'testo')
    var_dump("'$var'"); // 'testo'.
Devi accedere o registrarti per scrivere nel forum
1 risposte