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

Php 使用ajax进行更新而不刷新的问题,php,mysql,ajax,Php,Mysql,Ajax,我这里有一个代码,用来帮我更新电话号码。 但是它没有做到这一点,我收到了成功更改的消息,但没有插入数据库 这是我的密码: index.php <script type="text/javascript" > $(function() { $(".submit").click(function() { var phone = $("#phone").val(); var dataString = 'phone='+ phone ;

我这里有一个代码,用来帮我更新电话号码。 但是它没有做到这一点,我收到了成功更改的消息,但没有插入数据库

这是我的密码: 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>

$(函数(){
$(“.submit”)。单击(函数(){
var phone=$(“#phone”).val();
var dataString='phone='+phone;
如果(电话=“”){
$('.success').fadeOut(200.hide();
$('.error').fadeOut(200.show();
}否则{
$.ajax({
类型:“POST”,
url:“更新phone.php”,
数据:dataString,
成功:函数(){
$('.success').fadeIn(200.show();
$('.error').fadeOut(200.hide();
}
});
}
返回false;
});
});
请输入有效数据
注册成功
update-phone.php

<?php 
require_once('db.php'); 

if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
}else {}

?>

您是否尝试过使用firebug/developer tools/etc检查ajax请求?
尝试添加echo mysql_error();就在你的mysql\u查询之后

不是100%确定,但可能是if($\u POST)应该替换为if(isset($\u 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";
}
?>
试试这个

<?php 
require_once('db.php'); 

if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE `users` SET `phone` = '$phone' WHERE `ID` = 5884 ");
}else {}

?>

回显您的查询并在phpmyadmin中运行,查看是否有任何错误,同时检查您的数据库连接。在我给您答复之前,我需要更多信息。$\u POST中有什么内容(它正在发送您想要的数据)。您也不应该使用if($\u POST)$_POST不是布尔值,而是数组。试试isset(),你曾经连接到数据库吗?从你发布的代码来看,你似乎只是在向天空抛出一个查询,看看它会做些什么。另外:从之前的评论来看,它似乎确实保存在数据库中,你只是不刷新前端来显示新手机(因此你需要显式地重新加载页面才能显示)。在AJAX调用的“success”回调中,需要更新任何必要的HTML元素,以反映更改。如果不想检查是否设置了$\u POST['phone'],则需要检查是否设置了$\u POST。选中$\u POST['phone']将导致警告,指出未设置$\u POST['phone'],因为它将在将值传递给isset之前尝试获取该值。不总是设置$\u POST吗?此外,检查isset($_POST[“phone”])如何触发警告?