PHP PDO在连接变量时将变量绑定到字符串

时间:2013-04-19 16:58:23

标签: php sql loops pdo concatenation

我正在尝试创建一个类似于这样的SQL语句:

SELECT * FROM `table` WHERE `attribute` LIKE %variable_1% AND `attribute` LIKE %variable_2% AND ... AND `attribute` LIKE %variable_n%

我有变量:variable_1,variable_2,...,variable_n存储在一个数组中,为了创建上面提到的语句,我将使用foreach循环,如下所示:

$sql = 'SELECT * FROM `table` WHERE ';
$variables_array; // this array will contain all the variables mentioned above, the variables are numerically indexed
$total_variables = count($variables_array);

foreach($variables_array as $key => $value){

    $sql .= '`attribute` LIKE "%'.$value.'%" '; 
    if($key != ($total_variables - 1) ){
        $sql .= ' AND ';
    }
}

我的问题是,如何在我的foreach循环中分别使用PDO和PDO语句对象的'prepare'和'bindValue'方法,以便每个新插入的变量都可以像使用时一样安全使用传递给'prepare'方法,然后使用'bindValue'插入到语句中。或者我需要使用其他一些方法吗?

0 个答案:

没有答案