|
|
|
| Вопрос такой:
нужно проверить,если соединение с датабайс является не успешным, то перенаправить на страницу: page_under_maintenance.
Я не знаю с чего начать? Помогите чайнику, подскажите с чего начать?
Буду очень признательна за помощь:)
У меня есть только следующий код:
$passw= md5($passw);
$sql= mysql_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link');
if(!$sql){
echo("Couldn`t connect " . mysql_error());
}
|
И естественно,не работает:(:( | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 13:13)
| |
if(!$sql)
{
header('HTTP/1.0 503 Under construction');
header('Status: 503 Under construction');
echo "
Извините, сейчас на сервере выполняются регламентные работы. Попробуйте зайти через час.
Sorry. Server under maintenance. Try again one hour later
";
}
|
но только попытку подключиться Вы делаете как-то странно.
Во1х
$link = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
и проверить.
Во2х
$res = mysql_select_db(DB_DATABASE);
и проверить.
В3х
mysql_query("SET NAMES 'кодировка_соединения_с_БД'");
В4х зачем там верхняя строка с md5 ? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 14:01)
| | Cпасибо огромное, пойду мучаться:):) | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 14:15)
| | Мучиться-то зачем?
Непонятно что - спрашивайте.
Ответят.
Не я - так другие. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 14:01)
| | Вот,как он меня отшил:(
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\OTE\includes\functions\database.php on line 19
Unable to connect to database server!
|
| |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 14:32)
| | error_reporting(E_ALL|E_NOTICE); в начало файла. поставьте плиз.
У Вас и вправду есть эти константы DB_xxxx правильными значениями определены? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 14:34)
| | Константы есть:
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '123');
define('DB_DATABASE', 'ticketdb');
define('USE_PCONNECT', 'false');
define('STORE_SESSIONS', 'mysql');
|
И всё равно даёт мне ту же ошибку:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\OTE\includes\functions\database.php on line 19
Unable to connect to database server!
|
А это функция:
function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
global $$link;
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
$$link = mysql_connect($server, $username, $password);
}
if ($$link) mysql_select_db($database);
return $$link;
}
function tep_db_close($link = 'db_link') {
global $$link;
return mysql_close($$link);
}
|
Мне аж реветь хочеться:(:( | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 14:43)
| | так а сервер и вправду локальный (по отношению к php) , и к нему и вправду можно подключиться логином root и паролем 123 ?
Другими словами, в MySQL сервере у пользователя root именно такой пароль?
Кстати, дело на хостинге происходит, или на своей машине?
Не надо плакать. Это всё того не стоит. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 15:11)
| | Пароль я внесла для проверки, можно ли подключиться таким образом. Убедилась , что нельзя. А сервер локальный. Если я убираю пароль, то всё работает. | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 15:18)
| | Дело происходит на машине на работе | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 15:19)
| | когда Вы напрямую к серверу БД подключаетесь - это удается сделать по паре логин/пароль root/123 ? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 15:24)
| | Нет,это удается сделать логин/пароль root/ " " | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 15:30)
| | так может тогда стоит в define('DB_SERVER_PASSWORD' поставить именно тот пароль, который проходит? Пусть бы и пустой?
Или у Вас там кавычка пробел кавычка именно пароль и составляет? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 15:31)
| | Да,я то с вами согласна, но мой шеф хочет проверить, как говориться-- жираф большой,ему видней. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 15:31)
| | Первоначально это выглядит так:
define('DB_SERVER_PASSWORD', ' ');
|
| |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 15:37)
| | какой пароль вы вводите в поле ввода при прямом обращении? дословно - по клавишам? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 16:00)
| | kaya37 | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 16:03)
| | 'kaya37' это совсем непохоже на ' ' | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 16:07)
| | Что вы имеете ввиду? | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 16:19)
| | А Вы? | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 17:09)
| | :):):)
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
if(!@$$link = mysql_connect($server, $username, $password)){
header('Location: page_under_maintenance.php');
}
}
|
Вот придумала нечто , но и это тоже не работает:(:( | |
|
|
|
|
|
|
|
для: kaya
(15.04.2010 в 17:27)
| | Это не есть гуд. клиентский редирект испортит адрес в браузере. 503 статус все равно придется писать.
лучше выбросить статус, сделать include() уж коль скоро файл такой нетривиальный, а затем сделать exit()
Хотя причин делать нетривиальный файл вроде бы нет. | |
|
|
|