gpt4 book ai didi

php - Mysql返回结果问题

转载 作者:行者123 更新时间:2023-11-29 00:53:58 26 4
gpt4 key购买 nike

我正在使用 php + mysql 在 FuelPHP 中创建一个项目。我有这个数据库查询(我没有使用他们内置的查询生成器,因为它对复杂查询来说只是一个麻烦)。

$sql = DB::query('
SELECT game_id, lati, longi,
acos(sin (' . $lat . ')
* sin (radians( lati ))
+ cos (' . $lat . ')
* cos (radians(lati))
* cos (radians(longi) - ' . $lon . '))
*' . $R . ' AS D
FROM (
SELECT game_id, lati, longi
FROM games
WHERE lati > ' . $minLat .
' AND lati <' . $maxLat .
' AND longi > ' . $minLon .
' AND longi < ' . $maxLon .
') AS firstcut
WHERE
acos(sin (' . $lat . ')
* sin (radians( lati ))
+ cos (' . $lat . ')
* cos (radians(lati))
* cos (radians(longi) - ' . $lon . '))
*' . $R . '<' . $rad .
' ORDER BY D');

如果我执行此操作并 print_r(result) 显示行数,即 2。

但是我不能处理,或者把这个结果转换成一个数组,所以我不能

foreach($result as $row) { echo $row['id'] . ' + ' . $row['D']} 

或类似的东西。

如果我粘贴此代码并将具有实际值的 php 变量替换到 phpmyadmin 中,我会收到绿色的“查询已成功执行”消息,但不会返回任何行(应返回两行,甚至没有“This”查询返回零行的消息)。我对这种嵌套/复杂的 sql 查询没有太多经验,因此我们将不胜感激。

谢谢。

最佳答案

您需要传递 DB::SELECT 作为 DB::query() 的第二个参数。

关于php - Mysql返回结果问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997043/

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