Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.
khodos_dmitry: ааа.. ну все верно... вы используете какую-то стороннюю библиотеку, которая не возвращает данные о результате, но возможно записывает результат в какую-то переменную класса.
if (!($this->mysqli->query("UPDATE `bets` SET `rate` = '$win1' WHERE `bm_id` = '$bm_id' AND `event_id` = '$event_id' AND `type` = '1'")))
$this->mysqli->query("INSERT INTO `bets` (`bm_id`, `event_id`, `type`, `rate`) VALUES ('$bm_id', '$event_id', '1','$win1')") or die("Не могу вставить коэффициент победы 1: ".$this->mysqli->error);
khodos_dmitry: в данном случае сделайте var_dump($db), скорее всего в классе есть переменные хранящие ответ запроса, если конечно класс не на коленке писался.
khodos_dmitry: так вам результат запроса нужен или количество обновленных записей? Если запрос успешно произошел, даже ничего не изменив, он всегда будет возвращать true
Ну там одна запись обновляется или ноль. Если вот это условие: `bm_id` = '$bm_id' AND `event_id` = '$event_id' AND `type` = '1' не выполняется, т.е. такой строки нет, то как я понимаю должно возвращать false, а возвращает true.
khodos_dmitry: Для методов класса хорошей практикой является возвращение значения, в вашем случае методы должны возвращать ответ мускуля, а не тупо выполнять запрос.
Falseclock: Я так и не разобрался в вопросе. У меня $this->mysqli->query("UPDATE `bets` SET `rate` = '$win1' WHERE `bm_id` = '$bm_id' AND `event_id` = '$event_id' AND `type` = '1'" в любом случае true возвращает. Было обновлено что-нибудь или не было.