MySQL-在返回结果之前通过PHP函数传递数据库字段
中的以下代码显示了正在准备和执行的mysqli查询。虽然($stmt->fetch())循环看起来像是在生成结果资源。我是否可以将其更改为包含对函数的调用,例如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; } 然后,我将返回($
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)