将结果从pdo发送到ajax时遇到问题

时间:2014-06-20 11:07:44

标签: javascript php jquery ajax pdo

我想要做的是,如果用户成功注册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"; ;
?>

1 个答案:

答案 0 :(得分:2)

您似乎有错误:

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

yours demo

尝试这样:

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

working demo

您可以看到here教程。