Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema aggiornamento database sql

    Salve a tutti ho un "piccolo" problema con l'aggiornamento di una tabella del database. (uso sql e php).

    In pratica io con una semplice query recupero i dati della tabella e li inserisco in una form. Da questa form posso andare a modificare alcuni campi. Campi che,premendo il tasto submit,dovrebbero andare ad aggiornare il mio database.

    <?php


    require 'config.php';
    //require 'registrazione.php';

    //richiamo tutte le variabili
    $vars = get_defined_vars();
    //Array contenente tutte le variabili
    $my_array = array();

    $host="localhost"; // Hostname
    $username="root"; // Mysql username
    $password=""; // Mysql password
    $db_name="pureftpd"; //Nome del Database
    $tbl_name="ftpd"; // Nome della Tabella
    $connect=mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    //Popolo l' array con i campi del form
    foreach($vars['_POST'] as $key => $val){
    array_push($my_array, $val);
    }


    //Configuro la visualizzazione
    $no_field = 6; // Numero dei campi inviati x ogni record

    $size = (count($my_array) / $no_field); //Numero dei Records

    $start = 0; //Record iniziale

    //Ciclo per tutta la grandezza dell'array
    for($i = 1; $i <= $size; $i++){

    //Prelevo i dati del record

    $userfor = $my_array[$start+1];
    $passfor = $my_array[$start+2];
    $commfor = $my_array[$start+3];
    $emfor = $my_array[$start+4];
    $desfor = $my_array[$start+5];

    //Visualizzo i Dati
    echo "[*]User:" . " " . $userfor;
    echo "[*]Password:" . " " . $passfor;
    echo "[*]Commenti:" . " " . $commfor;
    echo "[*]Email:" . " " . $emfor;
    echo "[*]Descrizione:" . " " . $desfor;

    echo "<hr>";

    $query3 = "UPDATE ftpd SET ftpd.comment= ('{$commfor[$i]}')";

    if(!mysql_db_query($db_name,$query3)) die(mysql_error());
    {
    echo "Ok database aggiornato.";
    }


    //Passo al prossimo record
    $start = $start + $no_field;

    }


    Cosi facendo mi dice "Ok database aggiornato" ma invece nn aggiorna nulla. Premetto sempre che sono alle prime armi e magari il codice non è molto efficace..ma nn riesco a capire xchè nn mi aggiorna il campo di riferimento.

    Chi mi dà una dritta?



  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    è più facile ottenere un aiuto se si indenta il codice negli appositi tag

    Codice PHP:
    <?php


    require 'config.php';
    //require 'registrazione.php';

    //richiamo tutte le variabili
    $vars get_defined_vars();
    //Array contenente tutte le variabili
    $my_array = array();

    $host="localhost"// Hostname
    $username="root"// Mysql username
    $password=""// Mysql password
    $db_name="pureftpd"//Nome del Database
    $tbl_name="ftpd"// Nome della Tabella
    $connect=mysql_connect("$host""$username""$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    //Popolo l' array con i campi del form
    foreach($vars['_POST'] as $key => $val){
    array_push($my_array$val);
    }


    //Configuro la visualizzazione
    $no_field 6// Numero dei campi inviati x ogni record

    $size = (count($my_array) / $no_field); //Numero dei Records

    $start 0//Record iniziale

    //Ciclo per tutta la grandezza dell'array
    for($i 1$i <= $size$i++){

    //Prelevo i dati del record

    $userfor $my_array[$start+1];
    $passfor $my_array[$start+2];
    $commfor $my_array[$start+3];
    $emfor $my_array[$start+4];
    $desfor $my_array[$start+5];

    //Visualizzo i Dati
    echo "[*]User:" " " $userfor;
    echo 
    "[*]Password:" " " $passfor;
    echo 
    "[*]Commenti:" " " $commfor;
    echo 
    "[*]Email:" " " $emfor;
    echo 
    "[*]Descrizione:" " " $desfor;

    echo 
    "<hr>";

    $query3 "UPDATE ftpd SET ftpd.comment= ('{$commfor[$i]}')";

    if(!
    mysql_db_query($db_name,$query3)) die(mysql_error());
    {
    echo 
    "Ok database aggiornato.";
    }


    //Passo al prossimo record
    $start $start $no_field;

    }
    Errare humanum est, perseverare ovest

  3. #3
    hai ragione....sorry

    cmq ho risolto,errore banale direi!!!Mancava il campo id nella tabella


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.