Ошибка на уровне объектов и функций

Печать RSS
130

Y
Автор
Землянин
0
Пишу скрипт вывода информации из БД:
<?php
/**   
 *  ПК - пользователей, общая характеристика компьютера.
 */ 

    $sql = 'SELECT * FROM `users_pc`';
    $result = $mysqli->query($sql); // Запрос посредством php+mysql(i) в БД
	$row = $result->fetch_assoc(); // Преобразование результата даных полученых с БД в ассоциативный массив
	
	echo '<table class="table table-bordered">';
	foreach($row as $key => $value){
		echo '<tr><td>'.$key.':</td><td> <strong>'.$value.' </strong></tr>';
		
    }
	echo '</table>';
	
?> 
, теперь тоже самое только в функции..
 <?php
/**   
 *  ПК - пользователей, общая характеристика компьютера.
 */ 

    $sql = 'SELECT * FROM `users_pc`';
    showPC($sql);

function showPC($sql){
    $result = $mysqli->query($sql); // Запрос посредством php+mysql(i) в БД
	$row = $result->fetch_assoc(); // Преобразование результата даных полученых с БД в ассоциативный массив
	return $row;
}

	echo '<table class="table table-bordered">';
	foreach($row as $key => $value){
		echo '<tr><td>'.$key.':</td><td> <strong>'.$value.' </strong></tr>';
		
    }
	echo '</table>';
	
?> 
а тут уж выводит ошибку: Fatal error: Cannot redeclare showPC() (previously declared in /home/suleiman/www/app/functions.php:8) in /home/youmobe/www/app/pc.php on line 13
Помогите решить проблему, почему при помощи функции не работает скрипт и выдает ошибку)
Изменил: YouMobe (08.11.2013 / 15:13)
Ю

deleted
0
Ты же функцию вызываешь до её описания
Изменил: юЮЮфюв (08.11.2013 / 15:20)
Y
Автор
Землянин
0
TakteS (8 Ноября 2013 / 15:17)
Ты же функцию вызываешь до её описания
А что есть разница?), в PHP разницы нет где описывать до или после, все равно так же будет.
Изменил: YouMobe (08.11.2013 / 15:23)
A

Чатланин
0
Где то уже определена эта функция.
Y
Автор
Землянин
0
Ant0ha (8 Ноября 2013 / 15:23)
Где то уже определена эта функция.
А вот это в полне возможно, щас просмотртю везде... Так оно и есть)
но теперь вылетела другая ошибка свзянанно с объектом походу
Notice: Undefined variable: mysqli in /home/youmobe/www/app/pc.php on line 10

Fatal error: Call to a member function query() on a non-object in /home/youmobe/www/app/pc.php on line 10

Добавлено через 08:07 сек.
Ошибка указывает на эту строку $result = $mysqli->query($sql); // Запрос посредством php+mysql(i) в БД
Изменил: YouMobe (08.11.2013 / 15:33)
М

Малиновые штаны
0
В функциях по-умолчанию локальная область видимости переменных, ты берешь данные из глобальной переменной. Либо передавай в функцию еще и переменную $mysqli, либо в функции пиши global $mysqli;
Y
Автор
Землянин
0
Flyd (8 Ноября 2013 / 16:02)
В функциях по-умолчанию локальная область видимости переменных, ты берешь данные из глобальной переменной. Либо передавай в функцию еще и переменную $mysqli, либо в функции пиши global $mysqli;
Блин, чёт не выходит, скиньте годный мануал или статью, хочу понять что я не так делаю..
это $mysql->query($sql) напишите аналог как еще вызвать mysqli
или в этой функции в глобал вынести

Чатланин
0
function (....)
{
global $mysqli;
......
дальше все так же.
только не пинать.
я знаю, что многие не рекомендуют использовать global
Y
Автор
Землянин
0
rastoman (8 Ноября 2013 / 19:00)
function (....)
{
global $mysqli;
......
дальше все так же.
только не пинать.
я знаю, что многие не рекомендуют использовать global
Это то понятно,а есть альтернатиное решение?) может по другому организовать?
Изменил: YouMobe (08.11.2013 / 23:28)
А

Оранжевые штаны
0
Тебе, автор, нужно конкретезировать цели
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск