如何在不带引号的IN子句中使用数组?

时间:2016-12-22 22:26:30

标签: php mysql pdo parameter-passing

这是我的代码:

$arr = [val1, val2, val3];
$str = join("','",$arr); //=> val1','val2','val3
$stm = $dbh->prepare("SELECT * FROM mytable WHERE mycol NOT IN ('$str')");
$stm->execute();

以上代码也适用。现在我想将该变量传递给查询,而不是直接将其用于查询。像这样:

$arr = [val1, val2, val3];
$str = join("','",$arr); //=> val1','val2','val3
$stm = $dbh->prepare("SELECT * FROM mytable WHERE mycol NOT IN (':str')");
$stm->execute(array('str' => $str));

但它不起作用。语法错误(我很确定问题是关于引用 ..!

注意:有时$str为空。

无论如何,我该如何处理报价?

0 个答案:

没有答案