从数据库中检索数据并将其作为变量传递的最佳方法是什么

时间:2016-03-05 21:32:24

标签: php pdo

所以我做了一些搜索,但结果似乎有点混乱,这就是我在这里问的原因。

问题是我有一个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');

这重复了很多次,这就是为什么它需要非常有效率。

提前致谢。

1 个答案:

答案 0 :(得分:1)

为了提高效率,您应该尝试将多个请求合并为一个。尝试这样的事情:

SELECT id, value FROM options WHERE id IN (?,?,?,?,?)

这将在一个请求中返回所有必需的行。您应该更改函数fetch_site_option()以返回一组id和值,而不是一次返回一个值。