gpt4 book ai didi

php - mysql查询选择取决于2个表

转载 作者:行者123 更新时间:2023-11-29 12:50:22 25 4
gpt4 key购买 nike

我已经得到了我想要的 php 代码。但我的网站太慢了,因为它不断重复和循环,

$pages= mysql_query("SELECT * FROM ex_instagram_p WHERE type = '".follow."' AND active=1 And username !='".$username."' ORDER BY cpc DESC" );
$prow = mysql_fetch_array($pages);



Do{
$dollowed = mysql_query("SELECT * FROM exchanges WHERE user = '".$username."' AND exid = '".$prow['id']."'");

$followed = mysql_num_rows($dollowed);
;}while($followed > 0 && $prow = mysql_fetch_array($pages));

其实我可以再解释一下代码,我需要从第一个表中选择最大每次点击费用行但还要确保:

type = '".follow."' AND active=1 And username !='".$username."' ORDER BY cpc DESC"

问题来了,在继续之前,我需要确保第一个表的“id”字段在第二个表上没有使用用户用户名的记录,

是否得到结果,它将使用下一行再次重复,一遍又一遍,直到找到满足两个表的结果。这个方法太重了

我希望得到一个更简单、更轻松的方法,谢谢

我尝试过这样做,但没有成功

$prow= mysql_query("SELECT *
FROM (mysql_query("SELECT * FROM ex_instagram_p WHERE type = '".follow."' AND active=1
And username !='".$username."' ORDER BY cpc DESC" );)
INNER JOIN (mysql_query("SELECT * FROM exchanges WHERE user = '".$username."'");)
ON ex_instagram_p.id=exchanges.exid";);

最佳答案

您可以在一个查询中完成此操作。遵循逻辑有点困难,但我认为这是您想要的查询:

SELECT i.*
FROM ex_instagram_p i join
exchanges e
on i.id = e.exid
WHERE i.type = '".follow."' AND i.active=1 And
i.username <> '".$username."' and e.user = '".$username."'
ORDER BY i.cpc DESC
LIMIT 1;

在数据库中执行工作通常比在应用程序中循环行要快得多。毕竟,这就是数据库的优点——管理和查询大量数据。

关于php - mysql查询选择取决于2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24851214/

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