Tak znam manual ( trochę

)
Zapytanie:
UPDATE session SET sess_last_update=CURRENT_TIMESTAMP(), sess_value='' WHERE sess_id='2191cce17c1148485c3b1aeee690cb9a'boolean
Dobrze się wykonuje przez klienta baz danych a przez mysqli_query() zwraca true i nie mogę pobrać ilości rekordów na których ono zadziałało,
bo dostaje komunikat taki jak powyżej.
mysqli_affected_rows() expects parameter 1 to be mysqli, boolean given
Wywołuję tą metodę w klasie Session.
<?php
public function _write($session_id, $session_data)
{
$result = $this->db->query('SELECT COUNT(*) as count FROM '.DB_PREFIX.'session WHERE sess_id=''.$session_id.''');
$row = $result->fetch();
if($row['count'] > 0)
{
$result = $this->db->query('UPDATE '.DB_PREFIX.'session SET sess_last_update=CURRENT_TIMESTAMP(),
sess_value=''.$session_data.'' WHERE sess_id=''.$session_id.''');
if($result->affectedRows() > 0)
{
return true;
} else {
return false;
}
} else {
$result = $this->db->query('INSERT INTO '.DB_PREFIX.'session
(sess_id, sess_start, sess_last_update, sess_value, user_id, user_ip)
VALUES(''.$session_id.'', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), ''.$session_data.'', 1, '127.0.0.1')');
if($result->affectedRows() > 0)
{
return true;
} else {
return false;
}
}
}
?>
<?php
public function _gc($maxlifetime)
{
$result = $this->db->query('DELETE FROM '.DB_PREFIX.'session WHERE sess_last_update < ''.$sess_live_time.''');
return $result->affectedRows();
}
?>