Я себе давно уже сделал такой класс (в какой то книжке нашел) и юзаю его ... Намного проще жить =)
Что то типа
$db = new DB($host, $user, $password, $database);
if (!$db->open()) die($db->error());
if (!$db->query("
SELECT * FROM `table`
")) die($db->error());
if ($db->numRows() == 0 ) {
...
} else {
...
}
Ну и так далее ...
<?
class DB
{
/* Установки соединения */
var $host = '';
var $user = '';
var $password = '';
var $database = '';
var $persistent = false;
/* Идентификатор соединения */
var $conn = NULL;
/* Результат поиска */
var $result = false;
function DB($host, $user, $password, $database, $persistent = false)
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->persistent = $persistent;
}
function open()
{
/* Выбор нужной функции */
if ($this->persistent) {
$func = 'mysql_pconnect';
} else {
$func = 'mysql_connect';
}
/* Соединение с сервером */
$this->conn = $func($this->host, $this->user, $this->password);
if (!$this->conn) {
return false;
}
/* Выбор нужной базы */
if (@!mysql_select_db($this->database, $this->conn)) {
return false;
}
return true;
}
function close()
{
/* Закрытие соединения */
return(@mysql_close($this->conn));
}
function error()
{
/* Возврат ошибки */
return (mysql_error());
}
function query($sql)
{
/* Запрос к базе */
$this->result = @mysql_query($sql, $this->conn);
return($this->result != false);
}
function affectedRows()
{
/* Затронутые столбцы */
return(@mysql_affected_rows($this->conn));
}
function numRows()
{
/* Количество столбцов */
return(@mysql_num_rows($this->result));
}
function fetchObject()
{
/* Вернуть обьект */
return(@mysql_fetch_object($this->result, MYSQL_ASSOC));
}
function fetchArray()
{
/* Вернуть массив */
return(@mysql_fetch_array($this->result));
}
function fetchAssoc()
{
/* Возвращает ассоциативный массив */
return(@mysql_fetch_assoc($this->result));
}
function InsertId ()
{
return(@mysql_insert_id($this->conn));
}
function freeResult()
{
/* Освободить ресурс */
return(@mysql_free_result($this->result));
}
}
?>