Задать вопрос
KpuTuK
@KpuTuK
I love PHP

Почему mysql заносит записи на второй раз?

есть такой код
public function addMessage($userId, $time, $post)
    {
       if ($this->mysqli->query('INSERT INTO `gost` SET `user_id` = "%s", `date` = "%s", `content` = "%s"', [$userId, $time, $post])) {
           return true;
       }
       return false;
    }

добавление записей в базу происходит только при следующем insert"е
UPD
Извиняюсь за неправильно поставленный вопрос.
сейчас получил данные от бд и увидел что записи добавляются но не выводятся до следующего инсерта
public function getAllPosts($start, $limit)
    {
        $sql = $this->mysqli->query(
            "SELECT `gost`.*, `users`.`user`, `users`.`lastdate` FROM `gost` LEFT JOIN `users` ON `gost`.`user_id` = `users`.`id` ORDER BY `gost`.`id` DESC LIMIT %s,%s",
        [$start, $limit]);
        $return = ['fetch' => function () use ($sql){
            return $sql->fetch_assoc();
        }, 'count' => $sql->num_rows];
        return $return;
    }

вывод
<?php while ($data = $post['fetch']()): ?>
//html
<?php endif; ?>
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
kylt_lichnosti
@kylt_lichnosti
А так разве можно писать:
INSERT INTO `gost` SET `user_id` = "%s", `date` = "%s", `content` = "%s"


Вроде как:
INSERT INTO `gost` () values()
Ответ написан
@kryvel
Системный администратор
насколько я помню там нет autocommit, так что после inserta попробуйте сделать mysqli_commit()
php.net/manual/en/mysqli.commit.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы