Php 从数据库中检索数据并将其作为变量传递的最佳方法是什么
所以我做了一些搜索,但结果似乎有点混乱,这就是为什么我在这里问 问题是我有一个setup.php文件,在其中我预加载了在页面中加载某些内容所需的选项,我不知道这是否是最好的方法 代码如下:Php 从数据库中检索数据并将其作为变量传递的最佳方法是什么,php,pdo,Php,Pdo,所以我做了一些搜索,但结果似乎有点混乱,这就是为什么我在这里问 问题是我有一个setup.php文件,在其中我预加载了在页面中加载某些内容所需的选项,我不知道这是否是最好的方法 代码如下: function fetch_site_option($id){ $conn=Core::getInstance()->db->prepare("SELECT value FROM options WHERE id = ?"); $conn->bindParam(1,$id,
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');
这会重复很多次,这就是为什么它需要非常高效的原因
提前感谢。为了提高效率,您应该尝试将多个请求合并为一个请求。试着这样做:
SELECT id, value FROM options WHERE id IN (?,?,?,?,?)
这将在一个请求中返回所有必需的行。您应该更改函数fetch\u site\u选项以返回id和值数组,而不是一次返回一个值。您可以随时修改代码,使其可以获取id数组-然后可以从id所在的选项中选择id、值。。。在一次调用中获取多个值;尽管您还需要修改调用代码,以便在数据库返回的值中找到特定的值。因此,无论系统速度慢,一次调用都应该更快?