Php 一起删除多行数组
我想和foreach一起删除几行,但我有下面代码中的这个输出boolfalse not数组。如何修复它Php 一起删除多行数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,我想和foreach一起删除几行,但我有下面代码中的这个输出boolfalse not数组。如何修复它 <input type="checkbox" name="checked[]" value="1"> function delete_test() { $delete = $this->input->post('checked'); if (is_array($delete) && count($delete) > 0) {
<input type="checkbox" name="checked[]" value="1">
function delete_test()
{
$delete = $this->input->post('checked');
if (is_array($delete) && count($delete) > 0) {
foreach ($delete as $val) {
$this->db->query("DELETE FROM hotel_units WHERE relation LIKE '$val'");
}
var_dump($delete);
echo "<br>is array";
} else {
var_dump($delete);
echo "<br>not array";
} // This output is: bool(false) not array
}
我只能猜$this->input->post是什么意思,但如果您的复选框被称为“checked[]” 那么这就是您需要从$POST获得的信息:
$this->input->post('checked[]');
请阅读:只要你不能确保你的查询是有效的,你就不能期望它按预期运行。为什么你不在else条件下使用print而不是var_dump?你试过:$delete=$this->input->post['checked'];当您实际选中某些框时,请选中var_dump$\u POST。还要注意,这段代码对SQL注入非常开放。您没有对$ValveVerify执行任何验证,您的输入中有一个名为checked的post变量,请参见Colin,我认为您是对的,他引用的是一个不存在的输入。