我在数据库表中有一个名为'score'的字段,ajax调用正在为其添加值。
下面的查询会导致它在“得分”下添加值1和2。它应该在我的ajax调用中寻找“$ usrscore1”和“$ usrscore2”,但它似乎只看到$ us中的整数(1和2)并错误地将它们作为'得分'下的值发布。
for ( $counter4 = 1; $counter4 <= 2; $counter4 += 1) {
$mess4 = $messages + $counter4;
$us = $usrscore + $counter4;
mysql_query("INSERT INTO messages" . $counter4 . " (`score`)
VALUES ($us)",$dbconn);
}
如果我改变:
$us = $usrscore + $counter4;
到
$us = $usrscore1;
它在我的ajax调用中正确查找$ usrscore1并将正确的值放在'score'下的数据库字段中。但我需要它才能在for循环中工作,所以只需将它写出来,因为$ usrscore1将无效,即使它正确地读取它。
为了防止看到它,这是ajax调用的样子:
$('#rateplugin' + instance).raty({
half: true,
start: totalavgRounded,
click: function(score){
$.ajax({
type: 'POST',
url: 'backend.php',
data: "usrscore"+instance+"="+score+"&action=postmsg",
success: function(xml) {
$.fn.raty.readOnly(true,'#rateplugin' + instance);
}
});
return false;
} // end click
}); // rat
我可能还不是很清楚。我设置循环只生成2个数据库表,但我这样做只是为了测试目的。实际上,一旦生效,可能会创建数千个这就是为什么我用循环来做这个。 URL变量在这里仍然是一个很好的解决方案吗?我不确定如何实现它。
我的主要观点是,无论我如何从$usrscore
分解变量整数,它总是会忽略$usrscore
部分而只看到整数,然后只使用它作为最终的价值总是错的。有没有什么奇怪的VALUE MySQL位这样做?有没有人有任何想法,为什么它这样做以及如何解决它?如果这个URL变量想法可能有用,请你在这里给我一些指导方针吗?
答案 0 :(得分:1)
从我所看到的,你只有有限的$ usrscore1和$ usrscore2。我建议你放一个变量$ usrscore并根据url中的参数填充它。