gpt4 book ai didi

MySQL 选择作为要在 PHP 中定义的函数中使用的变量

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:52 27 4
gpt4 key购买 nike

我认为这是一个非常经典的设置:假设我有一个 table tab1,其中有 columns c1, c2。然后我想在另一个选择中 select c1, c2 作为函数 fun(a,b) 的变量:

SELECT fun(@a,@b) as r FROM (SELECT @a:=c1, @b:=c2 FROM tab1) AS tab ORDER BY r LIMIT 10;

乐趣是在 PHP 中预定义的:

function fun($d, $t){
$timenow = time();
$perd = 45000;
$di = (int)$d;
$tf = (float)$t;
if ($di === 0)
{
return 0;
}else{
return (Log($di)/Log(10)+($timenow-$tf)/$perd);
}
}

问题是变量根本没有更新。我在http://sqlfiddle.com/#!9/9ffd6搭建测试环境,为简单起见,fun(@a,@b) 被替换为 @a


更新

看来我原来的问题不能恰本地描述我的问题。我更新了它,感谢@wajeeh,解决方案可能是:

  1. 将我的 php 函数翻译成 MYSQL 形式(这对我来说是个难题)
  2. 使用 php 函数,但将 mysql 结果作为数组返回。 (在那种情况下,我需要手动编写排序函数!然后(也许)需要另一个 MYSQL 的 SELECT?)

最佳答案

你可以像这样直接调用函数:

Select func(c1, c2) as r From tab1;

SQLFiddle

关于MySQL 选择作为要在 PHP 中定义的函数中使用的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com