mysql - 使用 AJAX 更新数据库

标签 mysql html sql ajax jquery

我正在尝试使用 AJAX 更新我的数据库,但不知何故它不起作用。我已经完成了从数据库中获取数据到输入字段的部分。

我有一个输入字段“名称”:

<form method="post" ACTION="update.php">
<input maxlength="250" NAME="name" id="name" value="SomeName" SIZE="50">
<INPUT TYPE="submit" NAME="submit" id="submit" VALUE="submit">
<span id="error" style="display:none"> Please Enter Valid Data! Did you fill in all the fields?</span>
<span id="success" style="display:none"> the name has been updated successfully!</span>
</form>

并使用这段代码:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {

$("#submit").click(function() {

    var name = encodeURIComponent($.trim($("#name").val()));

    var dataString = "name =" + name;

    if(name == "")
    {
        $("#success").fadeOut(2).hide();
        $("#error").fadeOut(200).show();
    }
    else
    {
        $.ajax({

            type: "POST",
            url: "update.php",
            data: dataString,
            dataType:'json',
            success: function(data)
                {
                    if(!data.error)
                    {
                        $("#success").fadeIn(200).show();
                        $("#error").fadeOut(200).hide();
                    }
                    else
                    {
                        alert(data.error);
                    }
                }
            });
    }
    return false;

}); 

}); 

我将名称传递给 update.php,即:

<?php  

$con = mysql_connect('localhost', 'someUsername', 'somePassword');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 mysql_select_db("someDatabase", $con);

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

     $name = mysql_real_escape_string($_POST['name']);


     $query="UPDATE SOMETABLE SET name ='$name'";

     $result = mysql_query($query) or die (mysql_error);

 }

else
{
    echo "Something wrong with the POST";
}


mysql_close($con);
exit;
?>

我收到错误:“POST 有问题”;

提前致谢。

更新:问题不是“name”而不是“name =”(我已经编辑过了)。那只是这里的打字错误。

最佳答案

var dataString = "name" + name;

这一行应该改成这样;

var dataString = "name=" + name;

关于mysql - 使用 AJAX 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714590/

相关文章:

sql - 添加包含来自联接的数据的新列

mysql - SQL 关联实体的语法错误

php - 使用 if else 显示赞助商,不显示 PHP

html - IMG 不会悬停

mysql - 确定用户是否在 MySQL 中离线的最佳方法

javascript - JQuery 在加载 html 后获取 id

html - 关于div的简单CSS问题

mysql - 在不知道行名称的情况下删除多行

php - 将数组数据插入mysql php

PHP 关键字搜索多个字段填充新输入