вот ниже мой код жду критику я на ооп всего 3 класса написал это третий так что не строго
<?php
class sqli
{
var $connect;
var $count;
var $prepare;
function __construct($host, $user, $password, $name)
{
$this -> connect = mysqli_connect($host, $user, $password, $name);
if ($this -> connect == FALSE)
return FALSE;
if($this -> connect)
Удалён ($this -> connect, 'utf8');
return $this -> connect;
}
function __destruct()
{
return mysqli_close($this->connect);
}
private static function check_sql ($sql)
{
$rerurn=mysqli_real_escape_string($this->connect, htmlspecialchars(trim($sql)));
return $return;
}
public function trans_start()
{
mysqli_autocommit($this -> connect, false);
}
public function trans_complete()
{
mysqli_commit($this -> connect);
mysqli_autocommit($this -> connect, true);
}
public function trans_cancel()
{
mysqli_rollback($this -> connect);
mysqli_autocommit($this -> connect, true);
}
public function query($sql)
{
if (!$this->connect)
{
return FALSE;
}
if ($sql == NULL)
{
return FALSE;
}
$this->count++;
return mysqli_query($this->connect, sqli::check_sql($sql));
}
public function insert_id()
{
if (!$this->connect)
{
return FALSE;
}
return mysqli_insert_id($this->connect);
}
public function fetch_assoc($query)
{
if (!$this->connect)
{
return FALSE;
}
return mysqli_fetch_assoc($query);
}
public function fetch_array($query)
{
if (!$this->connect)
{
return FALSE;
}
return mysqli_fetch_array($query);
}
public function result ($sql)
{
if (!$this->connect)
{
return FALSE;
}
$this->count++;
return mysqli_num_rows(mysqli_query($this->connect, sqli::check_sql($sql)));
}
public function prepare ($sql, $value)
{
if (!$this->connect)
{
return FALSE;
}
$this->count++;
if ($this -> prepare = mysqli_prepare($this->connect, sqli::check_sql($sql)))
{
//связываем параметры с метками
mysqli_stmt_bind_param($this->prepare, "s", $value);
//запускаем запрос
mysqli_stmt_execute($this->prepare);
}
}
public function prepare_fetch ()
{
//связываем переменные с результатами запроса
mysqli_stmt_bind_result($this->prepare, $district);
//получаем значения
return mysqli_stmt_fetch($this->prepare);
}
public function prepare_close ()
{
return mysqli_stmt_close($this->prepare);
}
}
?>
Спасибо лови +
Добавлено 30.05.14 в 15:33:39:
ща найдутся 3-4 индивидума что процитируют первый пост
норм, мне походу тоже на mysqli переходить нужно!
молоток,удачи тебе в этом не легком деле
можно наследовать стандартный класс mysqli,будет меньше кода и заняться и его расширением http://www.php.net/manual/ru/class.mysqli.php
знаю но мне так больше нравится когда своё
А зачем SQL запрос прогонять через htmlspecialchars() и mysqli_real_escape_string()
защита от SQL-injection && XSS