我目前正在开发一个有趣的项目,涉及Ajax,HTML,JavaScript,PHP和SQL。
我尽可能地调试了我的项目,我100%确定我的AJAX,HTML和JavaScript工作正常,我的变量正确地发送到服务器。
我正在尝试从数据库中获取数据,从此数据中减去一个数字(在表单中提交)并相应地更新数据库。
我的数据库确实更新。但是,它没有显示正确的数字。在表单中提交1
时,它将始终在数据库中返回相同的数字。 (这很奇怪,因为我正在减去它......)。我100%确定表单中的数据是否正确传递给服务器,所以我希望你们都检查我的服务器文件,这应该是问题。
修改
数据库连接在db.php
中进行,并且正确。这已经过测试。
答案 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];