Для правильного вопроса надо знать половину ответа
Откройте учебник математики, класс этак за четвёртый - пятый. Там где-то должно быть написано, как делить целые числа и как находить остаток от деления.
Для правильного вопроса надо знать половину ответа
Не используйте библиотеку mcrypt, она в состоянии deprecated и будет вынесена в PECL начиная с PHP версии 7.2.0.
Используйте openssl, в вашем случае openssl_private_encrypt() и openssl_public_decrypt()
Для правильного вопроса надо знать половину ответа
Самое простое - добавить полю AUTO_INCREMENT, тогда оно будет увеличиваться автоматически. Недостаток - если запрос на добавление записи не пройдёт, то останется лакуна, неиспользованный номер.
Для правильного вопроса надо знать половину ответа
Что угодно. Смотрите ошибку в mysqli_error().
Можно предположить, что в одном из вставляемых данных есть одиночная кавычка. Поскольку вы не используете плейсхолдеры или, хотя бы, эскейпинг, то любой спецсимвол в данных может вызвать ошибку.
Для правильного вопроса надо знать половину ответа
По одному столбцу фильтруется без проблем:
SELECT *
FROM `table`
WHERE `field` = :value
UNION (
SELECT *
FROM `table`
WHERE `field` > :value
ORDER BY `field` DESC
LIMIT 1)
UNION (
SELECT *
FROM `table`
WHERE `field` < :value
ORDER BY `field`
LIMIT 1)
По нескольким столбцам такая фильтрация, в общем случае, не получится.
Для правильного вопроса надо знать половину ответа
Отмечаете у себя в БД, что в диалоге с данным пользователем был задан конкретный вопрос. При приходе от пользователя сообщения проверяете, если до этого был задан вопрос, то считаете сообщение ответом на него. Затем сбрасываете признак заданного вопроса в БД.
И подучите русский язык. "Выберете на кнопках нужную"... Во-первых - выберите. Во-вторых нужную кому?, кого?, что?