【问题标题】:Database updating wrong data [closed]数据库更新错误数据[关闭]
【发布时间】:2012-05-20 13:47:07
【问题描述】:

我目前正在从事一个有趣的项目,其中涉及 Ajax、HTML、JavaScript、PHP 和 SQL。

我已尽我所能调试我的项目,并且我 100% 确定我的 AJAX、HTML 和 JavaScript 工作正常,并且我的变量已正确发送到服务器。

我正在尝试从数据库中获取数据,从该数据中减去一个数字(在表单中提交)并相应地更新数据库。

我的数据库更新。但是,它没有显示正确的数字。在表单中提交1 时,它总是会在数据库中返回相同的数字。 (这很奇怪,因为我正在减去它......)。我 100% 确定表单中的数据已正确传递到服务器,所以我希望大家检查我的服务器文件,这应该是问题所在。

编辑: 数据库连接在db.php 中建立,并且建立正确。这已经过测试。

【问题讨论】:

    标签: php javascript mysql sql ajax


    【解决方案1】:

    您确实需要切换到准备好的语句来解决您的 sql 注入问题。

    除此之外,这个特定代码的问题在于mysql_query 不返回数字,而是返回资源。您需要获取一行来获取数字。

    【讨论】:

    • 非常感谢!我会调查一下,感谢您的快速回复!
    【解决方案2】:

    据我所知,mysql_query 返回resource,而不是结果本身。所以你必须把你的代码修改成这样:

    $res = mysql_query("your_query_here");
    $row = mysql_fetch_row($res);
    $totaalaantal = $row[0];
    

    查看http://php.net/manual/en/function.mysql-query.php

    【讨论】:

      【解决方案3】:

      我觉得你弄错了mysql_query的返回值,看php's manual

      mysql_query 返回一个 resource,然后可以将其传递给其他函数以提取您所做的查询返回的值。你应该这样做:

      $res = mysql_query(...)
      $row = mysql_fetch_assoc($res)
      $dec = $res["column_name"] - $some_value
      

      您应该检查 $_REQUEST[...] 数组值以消除sql injection 漏洞。

      【讨论】:

        猜你喜欢
        • 2013-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多