Почему шифруются и дублируются данные в БД mysql / некорректно вносятся данные в БД?
В новой таблице все данные ?шифруются?, причём все поля одной строки имеют одинаковое значение. Есть PHP функции для добавления в таблицу строк:
public function saveData(){
$query = "
INSERT INTO chat_user_table
(user_name, user_email, user_password, user_profile,
user_status, user_created_on, user_verification_code)
VALUES
(:user_name, :user_email, :user_password, :user_profile,
:user_status, :user_created_on, :user_verification_code)
";
$params = [
':user_name'=> $this->user_name,
':user_email'=> $this->user_email,
':user_password'=> $this->user_password,
':user_profile'=> $this->user_profile,
':user_status'=> $this->user_status,
':user_created_on'=> $this->user_created_on,
':user_verification_code'=> $this->user_verification_code
];
$statement = $this->connect->prepare($query);
foreach ($params as $key => $value) {
$statement->bindParam($key, $value);
}
if($statement->execute())
{
return true;
}
else
{
return false;
}
Исходный код: Репозиторий GitHub
Все исполняемые файлы: register.php, database/ChatUser.php, database/DatabaseConnection.php
Сама таблица:
CREATE TABLE `chat_user_table` (
`user_id` int(11) NOT NULL,
`user_name` varchar(250) NOT NULL,
`user_email` varchar(250) NOT NULL,
`user_password` varchar(100) NOT NULL,
`user_profile` varchar(100) NOT NULL,
`user_status` enum('Disabled','Enable') NOT NULL,
`user_created_on` datetime NOT NULL,
`user_verification_code` varchar(100) NOT NULL,
`user_login_status` enum('Logout','Login') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
Не обращайте внимание на то, что user_id без AI.
Источник: Stack Overflow на русском