数据库更新错误数据

时间:2012-05-12 01:01:56

标签: php javascript mysql sql ajax

我目前正在开发一个有趣的项目,涉及Ajax,HTML,JavaScript,PHP和SQL。

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

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

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

修改 数据库连接在db.php中进行,并且正确。这已经过测试。

3 个答案:

答案 0 :(得分:2)

你真的需要切换到准备好的语句来修复你的sql注入问题。

除此之外,这个特定代码的错误是mysql_query没有返回数字,它返回一个资源。您需要获取一行才能获得该数字。

答案 1 :(得分:1)

我认为您误解了mysql_query的返回值,看php's manual

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

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

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

答案 2 :(得分: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