【发布时间】:2016-04-10 11:24:52
【问题描述】:
当用户单击或离开输入字段时,我尝试更新数据库字段。
为此,我使用 jquery $.post 函数。
这是我的 jquery 函数:
$('.ajadd').click(function(){ //.ajadd is the class of the input field
var dbfield=addtitle;
var fieldval='check';
var post_txt='additional.php?dbfield='+dbfield+'&fieldval='+fieldval;
$.post(post_txt,function(data){
alert(data);
});
});
我在additional.php 文件中处理请求,如下所示:
if(isset($_POST['fieldval'])){
$fieldname=$_POST['dbfield'];
$fieldvalue=$_POST['fieldval'];
$a=new mysqli('localhost','root','','mydbname');
$query="UPDATE mydbtable SET $fieldname=' $fieldvalue' WHERE id=1";
$res=$a->query($query);
echo 'update complete';
}
我简化了代码,以便您找到问题所在。我知道我没有为 SQL 注入处理 $_POST 数组,这不是我现在想要的。我只是想知道为什么这段代码不起作用。
补充一点:我检查了数据库连接,它工作正常。 我检查了 if 语句之外的查询,它正在工作。 在我的 php 文件中,我回显了“更新完成”,在我的 $.post 回调函数中,我提醒了返回数据,但它显示了一个空的消息框。 这对我来说意味着 php 文件已成功执行,但我不知道为什么我会得到一个空的回调函数消息框。 请帮忙。
【问题讨论】:
标签: javascript php jquery mysql ajax