1

我这里有这个代码,它应该可以帮助我更新电话号码。但它没有这样做,好吧,我得到了成功更改的消息,但没有插入数据库。

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

更新-phone.php

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

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

?>

我错过了什么?谢谢

4

2 回答 2

2

尝试这个..

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

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

?>
于 2013-06-05T19:24:25.627 回答
0

您是否尝试过使用 firebug/developer tools/etc 检查 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_* 滚动

于 2013-06-05T18:47:47.290 回答