Php 运行动态PREPARE语句

Php 运行动态PREPARE语句,php,mysql,laravel,phalcon,Php,Mysql,Laravel,Phalcon,目前我正在试验 我需要基本的想法来运行下面的动态sql 表: +----+---------+---------------+--------+ | id | item_id | property_name | value | +----+---------+---------------+--------+ | 1 | 1 | color | blue | | 2 | 1 | size | large | | 3 |

目前我正在试验 我需要基本的想法来运行下面的动态sql

表:

+----+---------+---------------+--------+
| id | item_id | property_name | value  |
+----+---------+---------------+--------+
|  1 |       1 | color         | blue   |
|  2 |       1 | size          | large  |
|  3 |       1 | weight        | 65     |
|  4 |       2 | color         | orange |
|  5 |       2 | weight        | 57     |
|  6 |       2 | size          | large  |
|  7 |       3 | size          | small  |
|  8 |       3 | color         | red    |
|  9 |       3 | weight        | 12     |
| 10 |       4 | color         | violet |
| 11 |       4 | size          | medium |
| 12 |       4 | weight        | 34     |
| 13 |       5 | color         | green  |
| 14 |       5 | weight        | 10     |
+----+---------+---------------+--------+
问题是

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(property_name = ''',
      property_name,
      ''', value, NULL)) AS ',
      property_name
    )
  ) INTO @sql
FROM properties;
SET @sql = CONCAT('SELECT item_id, ', @sql, ' FROM properties GROUP BY item_id');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
问题:如何从控制器(任何框架或pdo)运行此语句并获取获取的结果..

编辑
事实上,我在做一个产品数据库。需要来自前端的功能\u id。参数的数目未知。所以,我正在考虑基于参数创建动态查询。

为什么不在@MySQL server上创建一个过程,并使用PDO调用该过程<代码>$pdo->查询(“调用过程_name()”。这比从PDO执行以上所有操作要容易得多。我对这个过程不太熟悉。此外,参数的数量是未知的。我还需要提供需要动态创建的where条件。任何其他建议?按照@Mjh建议创建的程序。