Функция на PDO бьет ошибку

Печать RSS
122

Автор
Оранжевые штаны
0
Собствена сама проблема использую такой код:
<?
function smiles($string) { 

    $query = DB::$dbh -> query("SELECT * FROM `smiles` WHERE `smiles_cats`=?",array(1)); 
    while($query = $query -> fetch()){
        $string = str_replace($query['smiles_code'], '<img src="/images/smiles/' . $query['smiles_name'] . '" alt="' . $query['smiles_code'] . '" />', $string); }
		if(is_admin()){
    $query = DB::$dbh -> query("SELECT * FROM `smiles` WHERE `smiles_cats`=?",array(1));
    while($query = $query -> fetch()){
        $string = str_replace($query['smiles_code'], '<img src="/images/smiles2/' . $query['smiles_name'] . '" alt="' . $query['smiles_code'] . '" />', $string); }
}
	 
    return $string; 
}
?>
Постоянно бьет такую ошибку
Fatal error: Call to a member function fetch() on a non-object in *func.php on line 264

В чем проблема?
Изменил: Николай (11.10.2012 / 12:04)

Чатланин
0
метод query должен возвращать объект PDOStatement. ошибку ищи в нем.

Добавлено через 02:25 сек.
на Rotor похоже
Автор
Оранжевые штаны
0
2. Виталик Альянс, в пдо классе PDOStatement возращяет обьект.....
Изменил: Николай (11.10.2012 / 12:25)

Чатланин
0
Во первых очень не красиво использовать переменные с одинаковым именем. Возможно ошибка в этом. Ты на $query сначала пишешь объект а потом в цикле на нее же значения.
Автор
Оранжевые штаны
0
4. rastoman, неа эффект тот же
Автор
Оранжевые штаны
0
проблему решил!
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск