Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Inserimento dati

  1. #1

    Inserimento dati

    Salve, è da poco che sto studiando il php ad oggetti e stavo provando ad inserire dati attraverso una funziona ma non mi funziona, ringrazio chiunque mi risponda in anticipo.

    ho creato una class e poi questa funzione

    Codice PHP:

    function Insert($vars$table$exclude ''){
            
    // Catch Exclusions        if($exclude == ''){            $exclude = array();        }
            
    array_push($exclude'MAX_FILE_SIZE'); // Automatically exclude this one
            // Prepare Variables        $vars = $this->SecureData($vars);
            
    $query "INSERT INTO `{$table}` SET ";        foreach($vars as $key=>$value){            if(in_array($key$exclude)){                continue;            }            //$query .= '`' . $key . '` = "' . $value . '", ';            $query .= "`{$key}` = '{$value}', ";        }
            
    $query substr($query0, -2);
            return 
    $this->ExecuteSQL($query);    } 
    La richiamo in questo modo portando i dati da una form

    Codice PHP:



    <?phprequire 'mysql.php';
    $moduli= new MySQL;$table ="finanziamento";$moduli->Insert($_POST$table);
    ?>
    Dove sbaglio?
    grazie a tutti

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    2 cose:
    - quando scrivi del codice sul forum, prima di confermare il post, guarda l'anteprima e se necessario (in questo caso lo era) riformatta il codice, così istruzioni e commenti sono tutti mischiati.
    - spiega cos'è che non funziona: hai un errore? Cosa dice?

  3. #3
    Scusa hai perfettamente ragione, rimetto lo script meglio formattato. Intanto ti dico che non mi da errori , ma non inserisce i dati nel database, il codice è:



    :
    Codice PHP:

    function Insert($vars$table$exclude ''){
            
    // Catch Exclusions      
      
    if($exclude == ''){           
     
    $exclude = array();   
         }
            
    array_push($exclude'MAX_FILE_SIZE'); // Automatically exclude this one
            // Prepare Variables        
    $vars $this->SecureData($vars);
            
    $query "INSERT INTO `{$table}` SET ";     
       foreach(
    $vars as $key=>$value){     
           if(
    in_array($key$exclude)){    continue;    }          
      
    //$query .= '`' . $key . '` = "' . $value . '", ';        

        
    $query .= "`{$key}` = '{$value}', ";        }
            
    $query substr($query0, -2);
            return 
    $this->ExecuteSQL($query);    } 

    e la pagina che riceve i dati ho fatto così:


    <?phprequire 'mysql.php';
    $moduli= new MySQL;
    $table ="finanziamento";
    $moduli->Insert($_POST, $table);

    // post dovrebbe prendere tutti i dati che gli arrivano dal post se non erro
    ?>

  4. #4
    Vero, messo set. Però in questo modo io dovrei dargli i nomi dei campi, io vorrei invece , se è possibile che column li generasse , tipo per ipotesi metto $vars che poi sono i valori che arrivano tramite post , è possibile?

    La mia idea è usare una function insert da usare quando mi serve per diverse tabelle.

    Non so se mi sono spiegato...

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Puoi farlo solo se tutti i campi hanno un valore di default associato al momento della creazione della tabella, altrimenti se non specifichi il campo al momento dell'INSERT, MySQL non sa che metterci là dentro e ti da errore.

  6. #6
    Capito, vedo che riesco a combinare

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.