1

このトピックに関する同様の投稿をいくつか見ましたが、うまくいくとは思いませんでした。

記事IDを値として保存するチェックボックスのリストがあります。これは、ユーザーがチェックボックスをオンにすると、ID が文字列として保存され、ハンドラーに送信されることを意味します (「何とか、何とか、なんとか」のようなもの)。後でデータベースから ID を削除します。

私のSQLステートメントは次のようになります。

もちろん、$_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 に答える