[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помощь с mysqli
VolDroN
Решил у себя использовать mysqli. Функциями, т.е. без создания объекта.
такая проблема, класс работы с бд:
class DB
{
...
function Query($query)
{
global $___DBConnect;
return mysqli_query($___DBConnect, $query) or ($this->Error($query, mysqli_error($___DBConnect)));
...

}

В функцию передаётся запрос (SELECT `columns` ...)
$___DBConnect - подключение к бд, рабочий.
Такая хрень, - там существует ещё один метод, который генерирует сам запрос. Вообщем он своё отработал, и выкинул мне
SELECT `login` FROM `vol_users`

что для запроса верно.
дальше я передаю запрос к методу Query, который его уже совершает.
Но проблема в том что возвращает он просто единицу, т.е.
$db = new DB();
$query = $db->Select('login', 'vol_users');
echo $query;

выводит "1".

не могу понять, в чём проблема?



Спустя 8 минут, 51 секунда (3.08.2011 - 22:07) ZSH написал(а):
return mysqli_query($___DBConnect, $query) or ($this->Error($query, mysqli_error($___DBConnect)));


вернет указатель на результат запроса или TRUE FALSE в зависимости от вида запроса

while($data = mysql_fetch_array($query))
echo $data['login'] . '<br />';

Спустя 16 минут, 20 секунд (3.08.2011 - 22:24) Лена написал(а):
проблемы нет.
У вас видно $db->Select('login', 'vol_users') возвращает true или false.
У вас вернуло 1 == true.
Чтобы понять, что у вас там на самом деле, приводите код метода Select()

Спустя 11 часов, 15 минут, 38 секунд (4.08.2011 - 09:39) VolDroN написал(а):
Select я написал, т.е. то, что он выводит, я уже смотрел:
$query = "SELECT `login` FROM `vol_users`"

он создаёт этот запрос и передаёт его в $this->Query($query); т.е. до этого момента всё идёт нормально.
Query возвращает единицу, сую в fetch assoc:
$db->FetchAssoc($query);

(этот метод в одну строчку: return mysqli_fetch_assoc($query);)
на что он ругается:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in E:\home\voldron.test\www\index.php on line 6

Спустя 3 часа, 59 минут, 12 секунд (4.08.2011 - 13:38) VolDroN написал(а):
Решил, всё работает:
вместо:
    function Query($query)
{
global $___DBConnect;
return mysqli_query($___DBConnect, $query) or ($this->Error($query, mysqli_error($___DBConnect)));
}

->
    function Query($query)
{
global $___DBConnect;
$query = mysqli_query($___DBConnect, $query) or ($this->Error($query, mysqli_error($___DBConnect)));
return $query;
}
Быстрый ответ:

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