0

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

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

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

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

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

4

3 回答 3

2

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

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

于 2012-05-12T01:08:18.280 回答
1

我认为您误会了的返回值mysql_query,请查看php 的手册

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

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

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

于 2012-05-12T01:08:02.187 回答
1

据我所知,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

于 2012-05-12T01:12:07.850 回答