使用ajax进行更新而不刷新的问题


Issue with using ajax to update without refresh

我有这个代码在这里应该帮助我更新一个电话号码。它没有这样做,虽然,我得到成功更改消息,但没有插入数据库。

下面是我的代码:index . php
<script type="text/javascript" >
$(function() {
    $(".submit").click(function() {
        var phone = $("#phone").val();
        var dataString = 'phone='+ phone ;
        if(phone=='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "update-phone.php",
               data: dataString,
               success: function() {
                   $('.success').fadeIn(200).show();
                   $('.error').fadeOut(200).hide();
               }
           });
       }
       return false;
   });
});
</script>
<div class="modal" style="display: none;">
<?php
if (empty($phone)) {
?>
<form method="post" name="form">
    <input id="phone" name="phone" type="text" />
    <div>
        <input type="submit" value="Submit" class="submit"/>
        <span class="error" style="display:none"> Please Enter Valid Data</span>
        <span class="success" style="display:none"> Registration Successfully</span>
    </div>
</form>

update-phone.php

<?php 
require_once('db.php'); 
if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
}else {}
?>

我错过了什么?由于

试试这个…

<?php 
require_once('db.php'); 
if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE `users` SET `phone` = '$phone' WHERE `ID` = 5884 ");
}else {}
?>

您是否尝试过使用firebug/开发人员工具等检查ajax请求?尝试添加echo mysql_error();在你的mysql_query.

不是100%确定,但它可能是if ($_POST)应该替换为if (isset($_POST['phone']))

试试下面的php:

<?php
require_once('db.hp');
if (isset($_POST['phone']))
{
  $phone = $_POST['phone'];
  mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
  echo mysql_error();
} 
else
{
  echo "Failed";
}
?>

编辑:你确认它是否真的更新了数据库吗?此外,您还应该对输入进行消毒,并考虑使用mysqli而不是mysql_*