Php 在Redbean中与其他条件一起使用
我试图通过使用“IN”和“=”找到一些bean。我目前正在使用此代码:Php 在Redbean中与其他条件一起使用,php,sql,redbean,Php,Sql,Redbean,我试图通过使用“IN”和“=”找到一些bean。我目前正在使用此代码: $ids = array(1,2,3,4); $user = 1; $things = R::find( 'thing', 'id IN ('.R::genSlots($ids).') AND user = ?', array( $ids, $user ) ); 这给了我一些错误: PHP注意:第217行rb.PHP中的数组到字符串转换 致命错误:Uncaught[HY093]-SQLS
$ids = array(1,2,3,4);
$user = 1;
$things = R::find(
'thing',
'id IN ('.R::genSlots($ids).') AND user = ?',
array(
$ids,
$user
)
);
这给了我一些错误:
PHP注意:第217行rb.PHP中的数组到字符串转换
致命错误:Uncaught[HY093]-SQLSTATE[HY093]:参数编号无效:绑定变量的数量与第267行rb.php中抛出的令牌数量不匹配
如果我用$id中的一项运行此代码,我只会收到通知,但无论如何都不会得到结果
我假设它试图将$id作为单个变量处理。我遗漏了什么?不要将$ID添加到数组中,将两者合并到一个数组中,否则这将最终成为一个嵌套数组。你确定
R::genSlots()
接受数组吗?这不就是它的用途吗?为什么不简单地使用内爆(“,”,$ID)代替R::genSlots?@OIS我可以这样做,但参数化查询通常是一个更好的主意。您需要的是内爆(“,”,数组填充(0,count($id),“?”)