yerdnaandrey
@yerdnaandrey

Ошибочка при запросе в бд?

Кароче, в одном из прошлых ответов мне дали код для регистрации в бд. Сейчас я работаю над другим проектом и данные изменились. Я переделал stmt на свой лад. И ничего не заработало( в php белый экран, а в бд перекати-поле)

<?php 
//подключение конфига и функций


//получение данных из формы
$login = $_POST["login"];
$name = $_POST["name"];
$password = $_POST["password"];
$email = $_POST["email"];
 
//проверки
if(strlen($login) > 30){
    echo "Логин должен быть не длиннее 30 символов";
    die();
}if(strlen($login) < 4){
    echo "Логин должен быть не короче 4 символов";
    die();
}if(strlen($name) < 2){
    echo "Имя должно быть не короче 2 символов";
    die();
}if(strlen($name) > 15){
    echo "Имя должно быть не длиннее 15 символов";
    die();
}if(strlen($email) > 200){
    echo "Емаил должен быть не длиннее 200 символов";
    die();
}if(strlen($email)  < 5){
    echo "Емаил должен быть не короче 5 символов";
    die();
}if(strlen($password) > 40){
    echo "Пароль должен быть не длиннее 40 символов";
    die();
}if(strlen($password) < 8){
    echo "Пароль должен быть не короче 8 символов";
    die();
}

//хешинг
$password = password_hash($password, PASSWORD_DEFAULT);
$standart_avatar = "avatar.png";

//дата - в БД это поле должно быть 'VARCHAR'
$date_int = date("YFjHi");

$likes = '0'; //дефолтное значение 
$deleted = 'false'; //дефолтное значение]
$color = "red";
$status = "Новичок"
$description = "Описание отсутствует";
$reputation = '0';

//устанавливаем соедниение с базой данных
$connect_to_registerdbh = new PDO('mysql:host=localhost;dbname=cms', 'root', 'root');

$stmt = $connect_to_registerdbh->prepare("INSERT INTO users (login, password, likes, email, name, color, datee, status, description, avatar, reputation) VALUES (:login, :password, :likes, :email, :name, :color, :datee, :status, :description, :avatar, :reputation )");

//подготавливаем параметры
$stmt->bindParam(':login', $login);
$stmt->bindParam(':password', $password);
$stmt->bindParam(':avatar', $standart_avatar);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':likes', $likes);
$stmt->bindParam(':color', $color);
$stmt->bindParam(':datee', $date_int);
$stmt->bindParam(':status', $status);
$stmt->bindParam(':description', $description);
$stmt->bindParam(':reputation', $reputation);

//выполняем запрос на добавление данных в БД
$stmt->execute();
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
Fockker
@Fockker
Потомок старинного рода Ипатьевых-Колотитьевых
Код соединения должен быть таким
$connect = new PDO('mysql:host=localhost;dbname=cms;charset=utf8mb4', 'root', 'root',[
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);

Тогда PDO начнёт сообщать об ошибках запросов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Потому что нужно изучить языки и технологии, которые собираетесь использовать в проекте, а не ходить по сайтам с вопросами/ответами и выпрашивать на каждый чих пример кода или решение проблемы.
Хотя бы основы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы