1

我看过一些关于这个主题的类似帖子,但我还没有发现它们对我有用。

我有一个将文章 ID 存储为值的复选框列表。这意味着当用户选中一个复选框时,ID 将作为字符串存储并发送到处理程序(类似于:“blah,blah,blah”)。稍后我将从数据库中删除 ID。

我的 sql 语句看起来像这样:“从 art_id in (".$_GET['art_id'].") 的文章中删除”

当然,这不起作用,因为 $_GET['art_id'] 看起来像 "blah,blah,blah,blah" 而不是 "'blah', 'blah', 'blah', 'blah'"

网上的一些答案提到了拆分字符串并使用正则表达式。我不确定最好的方法是什么。如果我对某些事情不清楚,请询问,我会澄清。非常感谢。

4

2 回答 2

2

清理、内爆然后插入字符串:

$ids = array();
$in = '';
if(isset($_GET['art_id']){
  foreach($_GET['art_id'] as $id){
    $ids[] = intval($id);
  }
  $in = implode(',', $ids);
}

$query = "delete from article where art_id in (".$in.")";

如果 $_GET['art_id'] 为空,您可能需要进行额外检查,例如提供默认值或仅在您拥有 ID 时进行查询

于 2013-05-11T07:18:44.667 回答
1

您正在寻找implode功能

看这里

于 2013-05-11T07:18:25.120 回答