2

「IN」と「=」を使用して、いくつかの豆を見つけようとしています。私は現在このコードを使用しています:

$ids = array(1,2,3,4);
$user = 1;

$things = R::find(
  'thing', 
  'id IN ('.R::genSlots($ids).') AND user = ?',
  array(
    $ids,
    $user
  )
);

これにより、いくつかのエラーが発生します。

PHP 通知: rb.php の 217 行目で配列から文字列への変換

致命的なエラー: Uncaught [HY093] - SQLSTATE[HY093]: 無効なパラメーター番号: バインドされた変数の数が、267 行目の rb.php でスローされたトークンの数と一致しません

$id の 1 つの項目でこのコードを実行すると、通知が表示されるだけですが、どちらの方法でも結果は得られません。

$id を単一の変数として扱おうとしていると思います。私は何が欠けていますか?

4

1 に答える 1

6

$ids を配列に追加しないでください。2 つを 1 つの配列にマージしてください。そうしないと、ネストされた配列になってしまいます。

于 2013-10-02T20:16:09.230 に答える