Как поместить условие в мой pdo-код

#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!';