gpt4 book ai didi

php - 即使查询不匹配,Mysql 结果也会重复

转载 作者:行者123 更新时间:2023-11-29 08:26:44 25 4
gpt4 key购买 nike

首先为我在 php/mysql 中的有问题的编码道歉,但这都是自学的(可能不是最佳实践)

我的所有代码似乎都可以工作,但是当结果写入页面时 $dxcall这不在 $qrzdata 中数据库填充了最后的结果,所有其他数据都显示正常。我尝试更改 like $dxcall= $dxcall 。我也尝试过组合获取数组,以防我的问题也存在。但显然我的代码不知道如何处理 qrzdata 数据库中没有数据匹配的地方并继续前进。

$frqry是主要数据,所有其他 mysql_query 都是 $squares$qrzdata与来自 $frqry 的内容相匹配。希望这是有道理的!!

这是我的代码

$frqry = mysql_query("select * from spots where freq between '69900' and '70300' ORDER BY datetime desc limit 30");
While ($r0 = mysql_fetch_array($frqry))
{
$freq = $r0["freq"];
$dxcall = $r0["dxcall"];
$datetime = $r0["datetime"];
$comments = $r0["comments"];
$spotter = $r0["spotter"];
$dt = date('d-m-y H:i ', $datetime);
$qra = $r0["loc"];

$squares = mysql_query("select * from squares where callsign like '$dxcall' limit 1");
while ($r1 = mysql_fetch_array($squares))
{
$qra = $r1["loc"];
}

$qrzdata = mysql_query("select * from qrzdata where callsign = '".$dxcall."' limit 1");
While ($r2 = mysql_fetch_array($qrzdata))
{
$country = $r2["country"];
$firstname = $r2["firstname"];
$city = $r2["city"];
}

非常感谢任何帮助。谢谢。

最佳答案

您需要了解JOIN的力量;)

您的整个代码可以在一个查询中重写:

免责声明:未经测试,但您肯定明白

SELECT * FROM spots
JOIN squares ON (squares.callsign = spots.dxcall) -- this comes in stead of your first inner loop
JOIN qrzdata ON (qrzdata.callsign = spots.dxcall) -- this is your second loop
WHERE freq BETWEEN 69900 AND 70300 -- remove quotes, you are dealing with integers, not strings (hopefully)

关于php - 即使查询不匹配,Mysql 结果也会重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748594/

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