php - 使用 count( (array) $test) > 1 作为参数进行查询

标签 php mysql

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

id |颜色 |尺寸

1 |红色|升

2 |红色|特大号

3 |蓝色|升

4 |蓝色| XL ...

现在我有一个如下所示的数组:

$parameters[0] = array('red', 'L');
$parameters[1] = array('red', 'XL');
$parameters[2] = array('blue', 'L');

如果我想让结果像这样,那么我在 RAW-SQL 中的查询必须是什么样子:

$result = array(1,2,3);

最佳答案

如果使用 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附加到您的查询中,然后将$paramsexecute一起使用。

演示:https://eval.in/801247

关于php - 使用 count( (array) $test) > 1 作为参数进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44069738/

相关文章:

PHP Group by foreach 循环

mysql - 将查询的一个结果除以另一个查询的结果

php - 使用 Javascript 添加一个选择框;到由 PHP 填充的 html 表单

mysql - 数据库模式、表中的多对多或 bool 值

php - 选择变体时,Woocommerce 自定义可用性文本会多次显示

php - 如何使用 php 将字符串下载到浏览器?不是文本文件

php - PHP 数组中的 MySQL 数据

php - 使用我的mysql或文本文件存储数据以便快速访问

javascript - HTML5 Data-* 属性未按预期工作

java - 在Java中我怎么能在这里做文档?像 BASH 或 PHP 我们可以