Проблемы с отправкой результатов из pdo в ajax

Я хочу сделать это, если пользователь успешно зарегистрировал pdo, предоставит информацию и отправит ее в ajax, и сообщение ajax будет сообщено, если пользователь зарегистрирован или нет. Он работал правильно после того, как я положил это условие в свой pdo, и теперь он больше не будет вставлять, а ajax сообщает «регистрировать ошибку!». все время.

сценарий:

<script type="text/javascript"> $(document).ready(function() { $('#submit').click(function (e) { e.preventDefault(); var data = {}; data.name = $('#name').val(); data.age = $('#age').val(); data.gender = $('#gender').val(); data.address = $('#address').val(); data.image = $('#imgInp').val(); $.ajax({ type: "POST", url: "user.php", data: data, cache: false, success: function (response) { if (Number(response) == 1) { alert("User successfully registered"); } else { alert("Error registering user!"); } } }); return false; }); }); </script> 

user.php:

 <?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(); $results ? echo "1"; : echo "2"; ; ?> 

Кажется, что у вас есть ошибка:

 $results ? echo "1"; : echo "2"; ; 

твоя демонстрация

попробуйте вот так:

 echo $results ? "1" : "2"; 

рабочая демонстрация

вы можете увидеть здесь учебник.