gpt4 book ai didi

php - 如何避免多次调用我的数据库? (MySQL + PHP)

转载 作者:行者123 更新时间:2023-11-29 02:03:55 26 4
gpt4 key购买 nike

通过以下代码,我可以使用 FQL 获取我在 Facebook 上管理的所有页面。不过我不打印它们。

$PageNames = $facebook->api('/fql', array('q' => 
'SELECT name, page_id FROM page WHERE page_id IN (
SELECT page_id FROM page_admin WHERE uid=me() )'));

之前,我在我的数据库中添加了一些页面的 *page_id*。我的目标是显示我尚未添加到我的数据库中的页面。它工作正常,代码如下。

  foreach($PageNames['data'] as $PageName) {
$investigate_id = mysql_query("SELECT page_id FROM pages WHERE page_id='"
.$PageName['page_id']."' LIMIT 1 ");

if(mysql_num_rows($investigate_id) == 0) {
echo $PageName['page_id'].$PageName['name'];
}

}

我的问题/疑问是,我是否可以通过某种方式避免大量的数据库调用,因为它会查询我管理的每个页面。我怎样才能做到这一点?

最佳答案

<?php

$IDs = array();
foreach($PageNames['data'] as $PageName){
$IDs[] = $PageName['page_id'];
}

$investigate_id = mysql_query('SELECT page_id FROM pages WHERE page_id IN (\''.implode('\', \'', $IDs)).' LIMIT 1 ');
while($assoc = mysql_fetch_assoc($investigate_id)){
// iff
}
?>

使用 WHERE col IN 将进行一次查询,所有 ID 如此

WHERE page_id IN (1,3,45,6,7,6,7,5,2,1,5,76) 它将在查询中执行,只需在结果之后循环并执行任何操作你想要!

关于php - 如何避免多次调用我的数据库? (MySQL + PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880307/

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