【问题标题】:After successful ajax POST operation nothing happens in the database成功 ajax POST 操作后,数据库中没有任何反应
【发布时间】:2013-12-06 22:25:27
【问题描述】:

我检查了重复项,但没有一个与这个问题有严格的关系。

我有以下 javascript 代码

var value = $.ajax({
    type: "POST",
    url: "bank.php",
    data: {sum:money},
    cache: false,
    async: true
    }).done(function() {
    console.log( "success" );
  }).fail(function() {
    console.log( "error" );
  });

php在bank.php中

if(isset($_POST['sum']))
      {
        $money = mysql_real_escape_string($_POST['sum']);
        $query = "UPDATE banks SET currency = 1 WHERE amount = '.$money.'";
        $result = mysql_query($query);
        if (!$result) {
        die('Invalid query: ' . mysql_error());
        }
        }

我在浏览器控制台中收到 ajax 操作“成功”,但数据库中没有任何反应。请注意,“货币”是一个 tinyint(1),而金额是一个 int(10) [我正在使用你可能已经猜到的 sql 表]。我究竟做错了什么? (bank.php 还包含链接到我的数据库的标题,所以这不是问题,因为我在那里测试了其他查询)。

我相信代码没有通过if(isset($_POST['sum'])) 验证,但不明白为什么。有什么建议吗?

【问题讨论】:

  • 您是否尝试过检查响应的文本内容?
  • 你的查询字符串错误,那些.不应该在那里
  • 穆萨,你结婚了吗?只是问
  • 你试过mysql_query($query)还是die(mysql_error());只是看看您的查询是否失败?
  • die('Invalid query: ' . mysql_error()); 将在控制台中生成一条成功消息!

标签: php jquery mysql ajax google-chrome


【解决方案1】:

试试这个:

$query = "UPDATE banks SET currency = 1 WHERE amount = ".$money.";

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多