MySQL-在返回结果之前通过PHP函数传递数据库字段

MySQL-在返回结果之前通过PHP函数传递数据库字段,php,function,mysqli,prepared-statement,Php,Function,Mysqli,Prepared Statement,中的以下代码显示了正在准备和执行的mysqli查询。虽然($stmt->fetch())循环看起来像是在生成结果资源。我是否可以将其更改为包含对函数的调用,例如 while ($stmt->fetch()) { foreach($row as $key => $val) { $c[$key] = performFunction($val); } $result[] = $c; } 然后,我将返回($

中的以下代码显示了正在准备和执行的mysqli查询。虽然($stmt->fetch())循环看起来像是在生成结果资源。我是否可以将其更改为包含对函数的调用,例如

while ($stmt->fetch()) {
       foreach($row as $key => $val)
       {
           $c[$key] = performFunction($val);
       }
       $result[] = $c;
   }
然后,我将返回($result),而不是print\r($result)。这样我就可以动态更改$val的值
原始代码=

if ($stmt = $mysqli->prepare("SELECT * FROM sample WHERE t2 LIKE ?")) {
   $tt2 = '%';
     $stmt->bind_param("s", $tt2);
   $stmt->execute();

   $meta = $stmt->result_metadata();
   while ($field = $meta->fetch_field())
   {
       $params[] = &$row[$field->name];
   }

   call_user_func_array(array($stmt, 'bind_result'), $params);

   while ($stmt->fetch()) {
       foreach($row as $key => $val)
       {
           $c[$key] = $val;
       }
       $result[] = $c;
   }
     $stmt->close();
}
$mysqli->close();
print_r($result);

这个方法行得通吗?我怎么做呢?
谢谢大家……

这是一个非常有效的方法,尽管我怀疑您的示例实现代码不太管用。您最好获取一个mysqli_结果对象,调用它,并将结果关联数组推到结果集中,而不是自己创建关联数组。

您可以使用UDF(用户定义函数)在MySQL端处理数据,然后再将其返回PHP。

谢谢Kalium,您说“将结果关联数组推送到结果集”…您能提供一些将assoc数组推送到结果集的示例代码吗要获取每一行?然后对行执行函数?如何将行推回结果集?我可以使用mysql执行此操作吗?我有mysql版本5.0.22。mysqli命令返回错误-例如“调用未定义的函数mysqli_connect()“这是因为您显然没有安装mysqli扩展。您可以像这样将关联数组推入结果集中:$results[]=$associationarray;您好,谢谢,我尝试了以下操作-$result=mysql\u查询($sql)$result=mysql\u fetch\u assoc($result)$arraySize=计数($result);对于($i=0;$i)