尝试将ajax post请求发送到php到db但是出错了

时间:2013-09-21 14:57:10

标签: php jquery mysql ajax mysqli

我更好地展示了一切,因为我不知道它出了什么问题。我非常确定我的数据库/表格是否正确连接..但它仍然会返回错误..

html

<!doctype html>
<html lang="en">
<head>
    <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="main.js"></script>

    <meta charset="UTF-8">
    <title>Ajax Example</title>
</head>
<body>
    <ul>
        <li class='item'>item 1</li>
    </ul>
        <a href="#" id='btn'>Add</a>

    <br /><input type='text' id='input'>

</body>
</html>

JS

$(document).ready(function(){

$('#input').hide();

$('#btn').click(function () {
    $(this).hide();
    $('#input').show().focus().val('');

});

$('#input').blur(function () {

    var userInput = $('#input').val().trim();
    if (userInput !== "") {
        var text = $(this).val().charAt(0).toUpperCase() + $(this).val().substring(1); // to uppercase first letter
        $('#btn').show();
        $('#input').hide();

        $.ajax({
          type: "POST",
          url: "send.php",
          data: { item : text }
        })
          .done(function( data ) {
            if(data == 1)
                alert('data inserted');
            else
                alert('error');
          });

        appendTab = "<li class='item'>" + text + "</li>"

        $('ul').append(appendTab);
    }
    else {
            $('#btn').show();
            $('#input').hide();
    }
});

});

PHP

<?php

$data = mysqli_real_escape_string($_POST['item']);

$conn = mysqli_connect("localhost","root","");
mysqli_select_db($conn, "ajaxExample");

$q = "INSERT INTO user (userList) VALUES ('$data')";
if(mysqli_query($conn, $q)){

echo 1;

}

?>

我使用wamp和hv一个mysql数据库,我想我仍然可以使用mysqli?

1 个答案:

答案 0 :(得分:2)

在你的php中,你不能在有效的mysql连接之前使用mysqli_real_escape_string函数

您需要做的只是在mysqli_real_escape_string功能之后添加mysqli_connect 这可能是你的错误

<?php

$conn = mysqli_connect("localhost","root","");

$data = mysqli_real_escape_string($_POST['item']);
mysqli_select_db($conn, "ajaxExample");

$q = "INSERT INTO user (userList) VALUES ('$data')";
if(mysqli_query($conn, $q)){

echo 1;

}

?>