Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2016, 11:25   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию Правильно я понимаю в PHP return нужно разместить в function.php что бы получилось так :

Доброго времени суток!

Вопрос у меня по функциям ... раньше думал что функциями не буду пользоваться типо они на фиг не нужны мне и так все норм пишется ... но когда увидел объем скрипта захотелось немного разбить по файлам ... отошел я чаво то от сути вопроса:

У меня есть функция с запросом sql

function.php
Код:
function lol($lol){
	$bd_lol = "SELECT * FROM name WHERE `name` = '$name'";
	 $result = mysql_query($bd_lol) or die(mysql_error());
	 $result_lol = mysql_num_rows($result);
}
и есть второй файл index.php в котором я делаю проверку есть ли что то подобное в базе или нет

index.php
Код:

...

lol($lol);

if($result_lol == 0){

   echo "Какое то содержимое";

}

...
Как при этом варианте мне сделать проверку ?

На данный момент мне выдает ошибку

Код:
( ! ) Notice: Undefined variable: result_lol in /var/www/test.php on line 31
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 11.04.2016, 11:27   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

return
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.04.2016, 11:45   #3
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
return
Правильно я понимаю return нужно разместить в function.php что бы получилось так :

Код:
function lol($lol){
	$bd_lol = "SELECT * FROM name WHERE `name` = '$name'";
	 $result = mysql_query($bd_lol) or die(mysql_error());
	 $result_lol = mysql_num_rows($result);
	 return $result_lol;
}
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 11.04.2016, 11:52   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://php.net/manual/en/functions.returning-values.php
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.04.2016, 13:33   #5
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Разобрался в своем вопросе =)

Alex11223 надо было не return делать а $result_lol объявить глобальной переменной .

Вот как должно получится

Код:

function lol($lol){
	$bd_lol = "SELECT * FROM name WHERE `name` = '$name'";
	 $result = mysql_query($bd_lol) or die(mysql_error());
	 global $result_lol;
	 $result_lol = mysql_num_rows($result);
}
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 11.04.2016, 13:35   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

s88s, когда ознакомитесь в синтаксисом описания функции и возврата из неё значения, тогда подумайте, что за переменная $lol, которую Вы в функцию передаёте и которая там не используется (значит, она там и не нужна).
Зато нужна $name, которую Вы не передаёте

ваша функция (в первом приближении):

Код:
function getNumRows($name){
	 $result = mysql_query("SELECT * FROM name WHERE `name` = '$name'") or die(mysql_error());
	 return mysql_num_rows($result);
}

Цитата:
надо было не return делать а $result_lol объявить глобальной переменной
НЕ НАДО использовать глобальные переменные!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.04.2016, 14:45   #7
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
s88s, когда ознакомитесь в синтаксисом описания функции и возврата из неё значения, тогда подумайте, что за переменная $lol, которую Вы в функцию передаёте и которая там не используется (значит, она там и не нужна).
Зато нужна $name, которую Вы не передаёте

ваша функция (в первом приближении):

Код:
function getNumRows($name){
	 $result = mysql_query("SELECT * FROM name WHERE `name` = '$name'") or die(mysql_error());
	 return mysql_num_rows($result);
}
НЕ НАДО использовать глобальные переменные!!
Да да да сори просто голова не варит $lol была не правильно написана мой косяк чаво то запрограмился .

Вопрос тогда вот какой: А как мне сделать проверку?

перед проверкой я вывожу функцию

PHP код:
getNumRows($name);

if(
$result == 0){

  
//Если ноль записей выполняем все что находится в этом блоке 

}else {

  
//А если запись нашлась то выполняем эту часть кода


PS Сильно не пинайте подтягиваю знания свои
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 11.04.2016, 15:20   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:

if(getNumRows($name) == 0){

  //Если ноль записей выполняем все что находится в этом блоке 

}else {

  //А если запись нашлась то выполняем эту часть кода

}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.04.2016, 15:48   #9
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:

if(getNumRows($name) == 0){

  //Если ноль записей выполняем все что находится в этом блоке 

}else {

  //А если запись нашлась то выполняем эту часть кода

}
спасибо за ответ ... прошу прощенья за то что нормально не подумал головой ( Все оказалось так просто
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP - case внутри функции нужен ли break когда делаем return? fishlabsoman PHP 3 29.10.2012 12:15
Ошибка Function needs result type. Что не так? Crabobass Помощь студентам 4 17.04.2011 16:11
что не так с php кдом или с настройками MySQL+PHP Jimmi Помощь студентам 2 27.12.2010 09:03
Правильно ли я понимаю, php-скрипты нужно положить в папку cgi-bin, чтобы всё работало? Gtx541 PHP 8 22.07.2010 18:08
Оптимизация PHP-скрипта: Что быстрее function или include? Виталий Желтяков PHP 18 08.07.2010 22:35