Здравствуйте, такая проблема, недавно начал совсем небольшой проект на 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 знаю, не использую из соображений привычки.