所以我做了一些搜索,但结果似乎有点混乱,这就是我在这里问的原因。
问题是我有一个setup.php文件,我在其中预加载页面中加载某些内容所需的选项,我不知道这是否是最佳方法
以下是代码:
function fetch_site_option($id){
$conn=Core::getInstance()->db->prepare("SELECT value FROM options WHERE id = ?");
$conn->bindParam(1,$id,PDO::PARAM_INT);
$conn->execute();
if($conn->rowCount()==1){
$data=$conn->fetch(PDO::FETCH_ASSOC);
}else{
$data=null;
}
return $data['value'];
}
以及需要检索的值:
$siteTitle=fetch_site_option('1');
$mainPage=fetch_site_option('2');
$debug=fetch_site_option('3');
$logo=fetch_site_option('4');
$sTT=fetch_site_option('5');
这重复了很多次,这就是为什么它需要非常有效率。
提前致谢。
答案 0 :(得分:1)
为了提高效率,您应该尝试将多个请求合并为一个。尝试这样的事情:
SELECT id, value FROM options WHERE id IN (?,?,?,?,?)
这将在一个请求中返回所有必需的行。您应该更改函数fetch_site_option()
以返回一组id和值,而不是一次返回一个值。