[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ООП: не получается вызвать функцию
acerrusm
Привет!

На днях начал изучать ООП в php, но застрял на вызове функции:

<?php  
error_reporting(E_ALL);
require 'db/connect.php'; // тут подключается БД ($db)

function lol()
{
if ($result = $db->query("SELECT * FROM people"))
{
if ($result-> num_rows)
{
while ($rows = $result->fetch_object())
{
echo $rows -> first_name, ' ', $rows -> last_name, '<br />';
}
$result -> free();

}
}
}


lol();

?>



Подскажите пожалуйста что я тут накосячил?
paul85
А что пишет? Вангую, что проблема в области видимости lol. Нужно объявить global $db.
inpost
acerrusm
Внутри функции у тебя отсутствует: $db.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
acerrusm
Цитата (paul85 @ 31.05.2014 - 02:13)
А что пишет? Вангую, что проблема в области видимости lol. Нужно объявить global $db.

Пишет: Fatal error: Call to a member function query() on a non-object
acerrusm
Цитата (inpost @ 31.05.2014 - 02:17)
acerrusm
Внутри функции у тебя отсутствует: $db.

Исправил. Переписал. Все равно выходит фатал еррор:

<?php  
error_reporting(E_ALL);

function db()
{
$db = new mysqli('localhost', 'user', 'sukanaher', 'app');

if ($db->connect_errno)
{
die('Site in maintance');
}
}


function lol()
{
$db = db();
if ($result = $db->query("SELECT * FROM people"))
{
if ($result-> num_rows)
{
while ($rows = $result->fetch_object())
{
echo $rows -> first_name, ' ', $rows -> last_name, '<br />';
}
$result -> free();
}
return $rows;
}
}

lol();
?>




Ошибка: Fatal error: Call to a member function query() on a non-object
Быстрый ответ:

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