#php #mysql #pdo
#php #mysql #pdo
Вопрос:
Я хочу сделать это, когда пользователь успешно зарегистрирует мой pdo, у него будет условие, будет ли он успешным или нет.
Моя проблема, как поставить условие if else в pdo, если пользователь успешно или нет зарегистрировал учетную запись.
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$name = @$_POST['name'];
$age = @$_POST['age'];
$address = @$_POST['address'];
$gender = @$_POST['gender'];
$imageName = @$_FILES['image']['name'];
$q = "INSERT INTO students(name, age, address, gender, imageName ) VALUES(:name, :age, :address, :gender, :image)";
$query = $dbc->prepare($q);
$query->bindParam(':name', $name);
$query->bindParam(':age', $age);
$query->bindParam(':address', $address);
$query->bindParam(':gender', $gender);
$query->bindParam(':image', $imageName);
$results = $query->execute();
?>
Комментарии:
1. Что вы хотите сделать в случае успеха? Если нет?
2. Почему вы используете
@$_POST
?3. Что со всем
@
этим? Это вряд ли поможет вам с успешной регистрацией… Имя? Мне все равно. Возраст? Мне все равно… Вы получаете картину.
Ответ №1:
Моя проблема, как поставить условие if else в pdo, если пользователь успешно или нет зарегистрировал учетную запись.
PDOStatement::execute()
возвращает логическое значение true или false в зависимости от результата.
Вы должны иметь возможность проверять $results
результаты…
echo $results ? 'User successfully registered' : 'Error registering user!';