[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Самописная функция подключения к MySQL
Sound
Все привет!
Написал функцию подключения к MySQL, посмотрите пожалуйсто что можно добавить, а что убрать, как вам сома идея?

function connect_sql($sql_host, $sql_port, $sql_login, $sql_pass, $sql_db_name)
{

if($sql_port != ''){
$sql_server_name = $sql_host.':'.$sql_port;
}else{
$sql_server_name = $sql_host;
}

$conect_sql = @mysql_connect($sql_server_name, $sql_login, $sql_pass);
$select_db = @mysql_select_db($sql_db_name, $conect_sql);

if(!$conect_sql){
$number_error = "2";
return $number_error;
exit();
}

if(!$select_db){
$number_error = "3";
return $number_error;
mysql_close($conect_sql);
exit();
}

return 1;


}




Спустя 10 минут, 17 секунд (31.01.2011 - 01:29) ASerputko написал(а):
я б добавил установку кодировки
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');

Спустя 2 минуты, 13 секунд (31.01.2011 - 01:32) Sound написал(а):
ASerputko
Отличная идея! Спасибо!
Какие могут быть ещё соображения?

Спустя 6 минут, 43 секунды (31.01.2011 - 01:38) ASerputko написал(а):
я юзаю такой вариант
<?php
define('DBSERVER', 'localhost');
define('DBUSER', 'root');
define('DBPASSWORD', '');
define('DATABASE', 'test');

define('DB_NO_CONNECT', 'В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.');
define('DB_NO_SELECT', 'В настоящий момент база данных не доступна,
поэтому корректное отображение страницы невозможно.'
);

class MySqlConnect{
static private $connect = NULL;
private function __construct(){
$db_connect = mysql_connect(DBSERVER,
DBUSER,
DBPASSWORD)
or die(DB_NO_CONNECT);

mysql_select_db(DATABASE, $db_connect) or die(DB_NO_SELECT);
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
}

private function __clone(){}

static public function getConnect(){
if(self::$connect == NULL){
self::$connect = new self();
}
return self::$connect;
}
}



MySqlConnect::getConnect();

Спустя 11 минут, 52 секунды (31.01.2011 - 01:50) Sound написал(а):
Не плохо!
Я ещё хочу сделать отдельный обработчик ошибок для всего сайта!
Поэтому у меня функция возращает число которое может евлятся ошибкой!

Спустя 7 часов, 36 минут, 59 секунд (31.01.2011 - 09:27) linker написал(а):
Sound
Здесь
$conect_sql = @mysql_connect($sql_server_name, $sql_login, $sql_pass); 
$select_db = @mysql_select_db($sql_db_name, $conect_sql);

if(!$conect_sql){
$number_error = "2";
return $number_error;
exit();
}...
очень странно, ты сначала подключаешься, потом выбираешь базу и только потом проверяешь, а был ли вообще коннект. Убирай в топку @, делай нормальную проверку на ошибки: в момент подключения и в момент выбора базы данных.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.