Avoir du mal à envoyer les résultats de pdo à ajax

Je veux le faire si l'utilisateur a enregistré avec succès le pdo fournira une information et l'enverra à ajax et l'ajax affichera si l'utilisateur est enregistré ou non. Il fonctionnait correctement après avoir mis cette condition dans mon pdo et maintenant il n'apparaîtra plus et ajax dit "erreur d'enregistrement de l'utilisateur!" tout le temps.

scénario:

<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"; ; ?> 

Il semble que vous avez une erreur dans:

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

Votre démo

Essaie comme ceci:

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

Démo de travail

Vous pouvez voir ici un didacticiel.