Php 使用计数((数组)$test)进行查询>;1作为参数

Php 使用计数((数组)$test)进行查询>;1作为参数,php,mysql,Php,Mysql,我有一个表-我们称之为表属性: id |颜色|大小 1 |红色| L 2 |红色| XL码 3 |蓝色| L 4 |蓝色| XL码 现在我有一个数组,看起来像这样: $parameters[0] = array('red', 'L'); $parameters[1] = array('red', 'XL'); $parameters[2] = array('blue', 'L'); $result = array(1,2,3); 如果我想得到这样的结果,我在RAW-SQL中的查询应该是什么

我有一个表-我们称之为表属性:

id |颜色|大小

1 |红色| L

2 |红色| XL码

3 |蓝色| L

4 |蓝色| XL码

现在我有一个数组,看起来像这样:

$parameters[0] = array('red', 'L');
$parameters[1] = array('red', 'XL');
$parameters[2] = array('blue', 'L');
$result = array(1,2,3);
如果我想得到这样的结果,我在RAW-SQL中的查询应该是什么样子的:

$parameters[0] = array('red', 'L');
$parameters[1] = array('red', 'XL');
$parameters[2] = array('blue', 'L');
$result = array(1,2,3);
针对您的问题的原始SQL。现在您可以根据需要进行php实现了


针对您的问题的原始SQL。现在您可以根据需要进行php实现了

如果使用PDO,像这样的东西应该可以工作

$parameters[0] = array('red', 'L');
$parameters[1] = array('red', 'XL');
$parameters[2] = array('blue', 'L');
$where = '';
foreach($parameters as $param) {
     $where[] = '(color = ?  and size = ?)';
     $params[] = $param[0];
     $params[] = $param[1];
 }
$where = implode(' or ', $where);
$where
附加到查询中,然后将
$params
执行一起使用


演示:

如果使用PDO,像这样的东西应该可以工作

$parameters[0] = array('red', 'L');
$parameters[1] = array('red', 'XL');
$parameters[2] = array('blue', 'L');
$where = '';
foreach($parameters as $param) {
     $where[] = '(color = ?  and size = ?)';
     $params[] = $param[0];
     $params[] = $param[1];
 }
$where = implode(' or ', $where);
$where
附加到查询中,然后将
$params
执行一起使用


演示:

您的查询是什么?请告诉我们,因为我们不知道您是如何传递参数的?我根本不知道如何传递参数?有没有比做foreach循环更好的方法?废话,小错误!您的查询是什么?请告诉我们,因为我们不知道您是如何传递参数的?我根本不知道如何传递参数?有没有比做foreach循环更好的方法?废话,小错误!