Pues ya que andamos en los mismos temas, este es el metodo que puse en el driver de mysql que hice xD
Código PHP:
<?php
define(SERVER, 'server');
define(USER, 'usuario');
define(PASSWORD, 'password');
define(DATABASE, 'baseDeDatos');
class Database
{
private $_con;
private $_query;
private $_values;
private $_result;
public function __construct() {
$this->_con = $this->connect();
$this->_query = ' ';
$this->_values = ' ';
}
public function connect() {
$this->_con = mysql_connect(SERVER, USER, PASSWORD);
mysql_select_db(DATABASE, $this->_con);
return $this->_con;
}
public function insert($table, $values) {
$this->_query = "insert into {$table} ("
.implode(', ', array_keys($values))
.') values(';
foreach ($values as $key => $value) {
$value = $this->sanitize($value);
if(is_numeric($value)) {
$this->_query .= ', ' . $value;
} else {
$this->_query .= ", '". $value . "'";
}
}
$this->_query = str_replace('(,', '(', $this->_query);
$this->_query .= ')';
$this->_execute();
}
private function _execute() {
return @mysql_query($this->_query, $this->_con);
}
}
En la clase de uso mediante colaboracion de clases lo puedes implementar asi
Código PHP:
<?php
class Sample
{
private $_db;
public function __construct(){
$this->_db = new Database();
}
public function addUser($nickname, $username, $password) {
$data = array('user_nick' => $nickname,
'user_name' => $username,
'user_pass' => $password);
$this->_db->insert('users', $data);
}
}
O si te gusta implementar herencia entonces quedaria asi
Código PHP:
class Sample extends Database
{
public function __construct(){
parent::__construct();
}
public function addUser($nickname, $username, $password) {
$data = array('user_nick' => $nickname,
'user_name' => $username,
'user_pass' => $password);
$this->insert('users', $data);
}
}
Insert toma 2 parametros, el nombre de la tabla y un array asociativo para formar la query y la puedes usar como te guste, me falto copypastear el metodo "sanitize" que uso para quitar strings no permitidas en los inserts y todos los demas metodos usados para los CRUD pero la idea creo que la tenemos xD