Не вставлять правильные значения в базу данных MySQL

У меня возникли проблемы с использованием MySQLi для вставки значений в базу данных. Я не получаю никаких ошибок, но вставляемые значения неверны. Одно из полей TEXT всегда пусто, а другое всегда имеет значение «ý». Поле INT всегда содержит значение 50396416. Я использую utf8_general_ci.

CREATE TABLE events ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , title TEXT NOT NULL , content TEXT NOT NULL , date INT UNSIGNED NOT NULL ); 

Вот что мне нужно вставить значения:

 function insertEvent($title, $content, $date) { $stmt = $this->db->prepare('INSERT INTO events (title, content, date) VALUES (?, ?, ?)'); $stmt->bind_param('ssi', $title, $content, $date); $stmt->execute(); $stmt->close(); } 

Это кажется довольно простым, поэтому я не знаю, в чем проблема. Если у вас есть какие-либо советы, я бы хотел это услышать!

Я не знаю, может ли это быть проблемой с моим кодом или с базой данных, потому что все работало правильно на одном сервере, но не на другом.

Обновить

На самом деле я просто заметил через phpinfo() , что серверы, похоже, используют разные версии MySQL. Может ли это вызвать проблему?

Я также уверен, что данные, которые я использую, верны. Я получаю значения из формы с помощью $_POST . Например, если для поля «title» введите «asdf»:

 $stmt->bind_param('ssi', $title, $content, $date); $title = $_POST['title']; echo $title; // echoes "asdf" 

Похоже, что это была просто несовместимость с версией MySql (4.something) на сервере. Я заставил их обновить его, и теперь он работает нормально. Спасибо всем, за помощь!

Solutions Collecting From Web of "Не вставлять правильные значения в базу данных MySQL"