Php CodeIgniter删除函数未命中mySQL数据库
我正在对控制器进行ajax调用:Php CodeIgniter删除函数未命中mySQL数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在对控制器进行ajax调用: $.ajax({ url: base_url + "user/removeIngredientFromRecipe", type: "POST", data: { 'deleted_ingredients`': deleted_ingredients }, success: function() { console.log("Delet
$.ajax({
url: base_url + "user/removeIngredientFromRecipe",
type: "POST",
data: { 'deleted_ingredients`': deleted_ingredients },
success: function() {
console.log("Deleted " + deleted_ingredients);
},
error: function(status, responseText) {
console.log(status + ": " + responseText)
}
});
我在发布“删除的成分”,这是一个整数数组
控制器代码:
function removeIngredientFromRecipe()
{
$data = $_POST;
$this->db->where_in('recipe_ingridient_id',$data['deleted_ingredients'])->delete('recipe_ingridients');
return TRUE;
}
我已经验证了数组是否有正确的整数,delete语句可以从mySQL控制台工作
我可以看到正在从apache日志调用URL:
66.194.3.158---[16/Dec/2013:19:57:50+0000]“POST/user/RemoveReditefromRecipeHTTP/1.1”200 26
它返回一个HTTP200。
在mySQL中,我记录所有查询,我从未看到delete语句命中数据库。这让我认为我正在将其发送到控制器,但删除功能配置不正确,或者可能没有加载某些内容。有没有想到我错过了什么/做错了什么
仅供参考-“成分”的拼写错误是故意的、正确的,是以前开发人员遗留的代码:(
不是世界上最强的PHP高手,所以没有不受欢迎的建议
谢谢!Un-needbacktick?
'deleted\u components`'在ajax数据部分有一个backtick,这是一个类型:“POST”,数据:{'deleted\u components`':deleted\u components},看起来你的PHP将一些ingridient
与成分混合在一起。这会让你心神不宁。仅供参考:不需要在Codeigniter中使用$\u POST。它是通过$this->input->POST()为你提供的,非常干净。而且,因为你使用的是Codeigniter(MVC)你不应该在你的控制器中进行DB调用,这些调用应该在你的模型中。啊!这是回击。。。。