0

是否可以对数据库查询返回的数据执行特定的 PHP 函数,此时该查询仍在运行?

假设我们在某个班级,我们有以下伪 SQL,它应该返回几行:

$results = $this->db->query("SELECT PHP_function(column), column 2 FROM table")->fetchAll(PDO::FETCH_ASSOC);

PHP_function可以是json_decode例如。

或者这是不可能的,是否需要对结果进行额外的循环才能做到这一点?

4

4 回答 4

2

您正在使用的功能的手册页包含一个示例

于 2013-05-21T13:07:10.690 回答
0

据我所知,在查询运行时不可能实现 php 操作,您需要获取结果然后循环使用预定义的函数

于 2013-05-21T13:09:50.520 回答
0

不,这是不可能的。SQL 引擎(mysql 或任何其他)是一个单独的应用程序。PHP 可以与它​​通信、发送查询和接收数据。根据您想在该自定义函数中执行的操作,您可以在 mysql 中编写自定义函数来执行相同的操作。

查看create function文档以获取有关如何执行此操作的信息。

于 2013-05-21T13:06:59.840 回答
0

这个问题出在哪里?

<?php
    foreach($results as $key=>$res){
        $results[$key]['column'] = PHP_function($res['column']);
    }

除此之外,MySQL 已经包含了一些有用的功能,所以也许您需要的功能可以在查询中使用

于 2013-05-21T13:09:18.667 回答