Функция на PDO бьет ошибку
1.
Николай (11.10.2012 / 12:03)
Собствена сама проблема использую такой код:
<?
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
В чем проблема?
2.
Виталий (11.10.2012 / 12:11)
метод query должен возвращать объект PDOStatement. ошибку ищи в нем.
Добавлено через 02:25 сек.
на Rotor похоже
3.
Николай (11.10.2012 / 12:16)
2.
Виталик Альянс, в пдо классе PDOStatement возращяет обьект.....
4.
Александр (11.10.2012 / 12:34)
Во первых очень не красиво использовать переменные с одинаковым именем. Возможно ошибка в этом. Ты на $query сначала пишешь объект а потом в цикле на нее же значения.
5.
Николай (11.10.2012 / 12:38)
4.
rastoman, неа эффект тот же
6.
Николай (11.10.2012 / 13:07)
проблему решил!
URL:
https://visavi.net/topics/34807