使用AJAX将数据发送到服务器

时间:2018-08-23 11:01:12

标签: mysql ajax

我需要以下问题的帮助。以下代码对我不起作用。有谁可以帮助我吗?我已经在youtube视频中观看了此视频,但找不到它为什么没有运行。 我想通知您,我正在127.0.0.1上运行WAMP服务器,这很奇怪,浏览器未给出关于错误等的任何响应。

这是我的PHP代码:

<?php
$host="127.0.0.1";
$username = "root";
$password = "";
$db = "data";

$conn = mysqli_connect($host, $username, $password, $db);


if (isset($_POST['fname'])){

    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $gender = $_POST['slct'];

    $query = "Insert into users (firstname, lastname,gender) Values(?,?,?))";
    $stmt = $conn->prepare($query);
    $stmt->bind_param('sss', $fname, $lname, $gender);
    $stmt->execute();

    if(mysqli_affected_rows($conn) > 0){
        echo "insert";
    }
    else{
        echo "no";
    }

}
?>

这是我的html代码:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>

<h3> Insert Data into Database</h3>
<form id="form1" method="post">
<p> Enter FirstName</p>
<input type="text" name="fname" class="form-control">
<br>
<p> Enter lastName</p>
<input type="text" name="lname" class="form-control">
<br>
<p>Enter Gender</p>
<select class="form-control" name="slct">
<option value="Male">Male </option>
<option value="Female">Female</option>
</select>
<br><br><br>
<button class="btn btn-primary" onclick="insertData()">Submit</button>

</form>


</body>

<script>
    function insertData(){

        var formData = $('#form1').serialize();

        $.ajax({
        url:'http://127.0.0.1/PHP/insert.php',
        data:formData,
        type:'Post',
        success:function(response){
        console.log(response);

        },
        error:function(err){
            console.log(err);

        }

        })

    }
</script>

</html>

任何帮助将不胜感激。 预先谢谢你!

1 个答案:

答案 0 :(得分:1)

您的插入命令不正确。将...(?,?,?))";更改为...(?,?,?)";

最好使用像netbeans这样的IDE,因为它们会突出显示此类错误。另外,您应该从mysqli切换到PDO。而且您不需要检查受影响的行。 $stmt->execute()返回一个布尔值

相关问题