У меня возникли проблемы с использованием 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) на сервере,Я получил их, чтобы обновить его, и, кажется, теперь работает нормально.Спасибо всем за помощь!