【发布时间】: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