classe per inserire dati al database

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
43
Massa, Italy
Salve, mi sto studiando le classi..
vorrei fare una cosa che non so se è possibile..

una insert data con un for each in questo modo.. ma non so se è fattibile:
mi date una mano?

ecco il pezzo di codice preso su google:
PHP:
function insert($data)
	{
		  $columns=array();
		  $values=array();
		  foreach ($_POST as $key => $value) {
			$columns[]=$key;
			$values[]=$value;
		  }
		  $sql="INSERT INTO table (".implode(",",$columns).") VALUES (".implode(",",$values).")"
		  $db->query($sql)
	}

idee?

grazie mille. e buona notte.
 
Lasciando perdere che attualmente recupera i dati di $_POST e che è vulnerabile ad sql injection è meglio se fai una funzione più dinamica del tipo

PHP:
function insert($columns,$values) 
    { 
          $sql="INSERT INTO table (".join(",",$columns).") VALUES (".join(",",$values).")";
          $db->query($sql);
    }  


//esempio
$obj->insert(array_keys($_POST),$_POST);
 
Lasciando perdere che attualmente recupera i dati di $_POST e che è vulnerabile ad sql injection è meglio se fai una funzione più dinamica del tipo

PHP:
function insert($columns,$values) 
    { 
          $sql="INSERT INTO table (".join(",",$columns).") VALUES (".join(",",$values).")";
          $db->query($sql);
    }  


//esempio
$obj->insert(array_keys($_POST),$_POST);
$db-> mi sembrava $this->, correggo l'esempio in stile procedurale
PHP:
insert(array_keys($_POST),$_POST);

e inoltre aggiungi il global per recuperare $db
PHP:
function insert($columns,$values)
 {   
       global $db;

Anche se tornava più logicamente se lo mettevi come metodo della stessa classe che gestisce il database
 

Discussioni simili