X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как правильно реализовать такие функции?
alex159
alex159
Topic Starter сообщение 30.8.2013, 12:53; Ответить: alex159
Сообщение #1


Всем доброе время суток!
До сих пор есть проблемы с функциями.

К примеру есть такой код:
function check() {
$result = mysql_query("select online from seting");
$row = mysql_fetch_row($result);
if($row['online'] == "1") {
include ("$_site"."template/default/index.php");
}
else
{
include ("$_site"."down.html");
}
}


При выводе [CODE]echo check();[/CODE нечего не происходит . Это же и-за того что нету return.

То есть как сделать что бы вернул действие include? Или же бывает когда нужно вернуть
Полностью do, while.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alex159
alex159
Topic Starter сообщение 30.8.2013, 15:35; Ответить: alex159
Сообщение #2


function check() {
$result = mysql_query("select online from seting");
$row = mysql_fetch_row($result);
if($row['online'] == "1") {
include ("$_site"."template/default/index.php");
}
else
{
include ("$_site"."down.html");
}
}

Для этого я понял как можно сделать
function check() {
$result = mysql_query("select online from seting");
$row = mysql_fetch_row($result);
if($row['online'] == "1") { $scan = "true"; } else { $scan = "false"; }
return $scan;
}

Так можно сделать, а потом проверку.

А что делать к примеру с do...While ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 31.8.2013, 11:35; Ответить: fedornabilkin
Сообщение #3


В таком случае проще вернуть $row и делать с ним что угодно.
Или можно вернуть результат $row['online'] и уже потом делать проверку.
Насколько я понимаю, это настройка, которая задает режим сайта вкл/выкл. Если так, то тут функция наверно не к месту, потому что обычно это проделывается один раз.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
c0ns0l3
c0ns0l3
сообщение 31.8.2013, 20:45; Ответить: c0ns0l3
Сообщение #4


Уважаемый [member=fedornabilkin], если вы хотите проверить установленный линк с Сервером БД (в данном случаи с mysql) то вы должны проверять в 1ю очередь сам dbh который получается при mysql_connect(mysql_pconnect) он будет null если соединение не установится.

$dbh= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$dbh) {
    die('Ошибка соединения: ' . mysql_error());
}


Но, если управлять ошибками самого запроса, то опять-же делать через try или просто @mysql_query после чего проверять mysql_error() и на наличие которого выкидывать опять-же таки на ошибку с ее описанием.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alex159
alex159
Topic Starter сообщение 31.8.2013, 22:38; Ответить: alex159
Сообщение #5


$dbh= mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$dbh) { die('Ошибка соединения: ' . mysql_error()); }

Извините, а не легче сделать так?
$dbh= mysql_connect('localhost', 'mysql_user', 'mysql_password') or die("Ошибка".. mysql_error());

Если я не прав пожалуйста поправьте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 1.9.2013, 12:47; Ответить: fedornabilkin
Сообщение #6


Уважаемый fedornabilkin, если вы хотите проверить установленный линк с Сервером БД

А при чем тут это? Соединение с БД проверяется намного выше и, при его отсутствии, останавливается работа скрипта, в связи с бессмысленным его выполнением без коннекта.

Если я не прав пожалуйста поправьте.

Вообще надо было бы уже собраться с силами и изучить какой-нибудь класс для работы с БД, что бы не возникало подобных вопросов по поводу подключения и ошибки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
c0ns0l3
c0ns0l3
сообщение 1.9.2013, 20:45; Ответить: c0ns0l3
Сообщение #7


Извините, а не легче сделать так?
$dbh= mysql_connect('localhost', 'mysql_user', 'mysql_password') or die("Ошибка".. mysql_error());

Если я не прав пожалуйста поправьте.


Не проще, допустим у тебя сайт работает одновременно с 2мя базами...
И тут с какой-то из баз, с которой ты допустим таскаешь данные по каким-то причинам ( не та, на которой работает сайт) легла, и что ты увидишь? Вызов die() которая положет весь РНР?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
11 Boymaster 1796 17.4.2024, 23:35
автор: Boymaster
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4806 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19704 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3094 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13652 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 19.4.2024, 5:30
Дизайн