Здравствуйте, такая проблема, недавно начал совсем небольшой проект на PHP, решил писать на ООП и в качестве драйвера выбрать mysqli.
Все шло хорошо, однако возникла хоть и небольшая, но так и не поддающаяся решению проблема: есть у меня класс db, в нем функция query,
код: Спойлер (Отобразить)CODE ( htmlphp):
скопировать код в буфер обмена
public function query($q,$close=false) { if($qq=$this -> mysqli -> query($q)) { if($close==true) { $qq->close(); } return $qq; } else { if($close==true) { $qq->close(); } return false; } }
$close раньше не было, я ее добавил потом, для того, чтобы решить проблему, но ничего не вышло.
Суть: когда я в соседнем классе в функции вызываю $q=$db->query("SELECT ...");, а затем пишу - все отлично работает, а вот $q=$db->query("UPDATE..."); $q->close(); вызывает ошибку Fatal error: Call to a member function close() on a non-object in путь on line строка.
Тоже самое случится, если написать $q=$db->query("UPDATE ...",true);.
При этом, если запрос не закрывать - все отлично работает, но так не хорошо же...
Тоже самое в функциях с DELETE и INSERT.
В общем, прошу вашей помощи, т.к. думаю над этим уже несколько часов...
Заранее спасибо.
P.S. Про prepare знаю, не использую из соображений привычки.(Отредактировано автором: 26 Февраля, 2015 - 18:38:05)
|