PHP for循环错误未定义的偏移量
我有下面的代码,它循环遍历选定的复选框并执行 sql 语句。
if (isset($_POST['delete']))
{
for($i=0;$i<$recordcount;$i++)
{
$deleteid = isset($_POST['checkbox'][$i]);
echo "ID = ".$deleteid."<br />"; //Error checking
$sqldelete = "DELETE FROM customer WHERE cus_ID = ".$deleteid."";
echo $sqldelete."<br />"; //Error checking
$deleters = $conn->Execute($sqldelete);
}
}
这会运行 sql 查询,但它会尝试比需要的次数多运行一次,即我选中两个复选框,sql 运行 3 次。所以这会导致错误,因为 ID 为空。我还得到一个未定义的偏移量 1。
有什么建议吗?谢谢。
I have the code below which loops through selected checkboxes and executes and sql statement.
if (isset($_POST['delete']))
{
for($i=0;$i<$recordcount;$i++)
{
$deleteid = isset($_POST['checkbox'][$i]);
echo "ID = ".$deleteid."<br />"; //Error checking
$sqldelete = "DELETE FROM customer WHERE cus_ID = ".$deleteid."";
echo $sqldelete."<br />"; //Error checking
$deleters = $conn->Execute($sqldelete);
}
}
This runs the sql query but it tries it run it once more than required, i.e I check two check boxes, the sql runs 3times. So this casues an error as the ID is empty. I also get an undefined offset 1.
Any advice? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这句话绝对是错误的:
也许你的意思是这样的?
另外,您可能可以摆脱
$recordcount
并在$_POST['checkbox']
上执行foreach
。This line is definitely wrong:
Maybe you meant it like this?
Also, you could probably get rid of
$recordcount
and do aforeach
over$_POST['checkbox']
.为了安全起见,转义您的输入
And escape your input for safety
试试这个
try this