prepare("INSERT INTO bank_logs (sender_id, receiver_id, amount, type, text) VALUES (?, ?, ?, ?, ?)"); $row->bindParam(1, $senderId, SQLITE3_INTEGER); $row->bindParam(2, $receiverId, SQLITE3_INTEGER); $row->bindParam(3, $amount, SQLITE3_INTEGER); $row->bindParam(4, $type, SQLITE3_TEXT); $row->bindParam(5, $text, SQLITE3_TEXT); $row->execute(); $row->close(); } /** * Добавление записи в лог пользовательских операций (личное дело). * @param int $userId кому добавляется запись. * @param string $text текст записи. * @param string $type тип записи. * @param int $authorId кто добавляет запись. Использовать -1 для системной записи по умолчанию. */ public static function addUserLog(int $userId, string $text, string $type = '', int $authorId = 0) { if (empty($authorId)) { $authorId = -1; } if (empty($type)) { $type = "system"; } $db = new SQLite3(GameConfigs::DB_SQLITE); $row = $db->prepare("INSERT INTO users_logs (user_id, author_id, type, text) VALUES (?,?,?,?)"); $row->bindParam(1, $userId, SQLITE3_INTEGER); $row->bindParam(2, $authorId, SQLITE3_INTEGER); $row->bindParam(3, $type, SQLITE3_TEXT); $row->bindParam(4, $text, SQLITE3_TEXT); $row->execute(); $row->close(); } public static function getUserLogs($userId = null, $type = null): SQLite3Result { $db = new SQLite3(GameConfigs::DB_SQLITE); if ($userId && $type) { $query = "SELECT * FROM users_logs WHERE user_id = ? AND type = ?"; $row = $db->prepare($query); $row->bindValue(1, $userId, SQLITE3_INTEGER); $row->bindValue(2, $type, SQLITE3_TEXT); } elseif ($userId && !$type) { $query = "SELECT * FROM users_logs WHERE user_id = ?"; $row = $db->prepare($query); $row->bindValue(1, $userId, SQLITE3_INTEGER); } elseif (!$userId && $type) { $query = "SELECT * FROM users_logs WHERE type= ?"; $row = $db->prepare($query); $row->bindValue(1, $type, SQLITE3_TEXT); } elseif (!$userId && !$type) { $query = "SELECT * FROM users_logs"; $row = $db->prepare($query); } return $row->execute(); } }