【发布时间】:2017-07-11 19:50:02
【问题描述】:
在一个 PHP 网站上工作,我遇到了一个我自己无法解决的效率问题。
我有几个单独的 php 文件:
- connection.php - 连接到数据库。
- sqlFunctions.php - 几个执行不同 sql (mysqli) 查询、操作数据并返回数据的函数。
- index.php - 执行 sqlFunctions.php 中的一些函数并使用返回值在页面中显示某些内容的文件。
connection.php:
$servername = "DATA"; //Replaced to "DATA" for posting on stackoverflow
$username = "DATA";
$password = "DATA";
$dbname = "DATA";
$con = new mysqli($servername, $username, $password, $dbname);
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
sqlFunctions.php:
<?php
function query1(){
require('connection.php');
//PDO Query to DB, fetch, store, modify data etc.
mysqli_close($con);
//Return modified data
}
function query2(){
require('connection.php');
//PDO Query to DB, fetch, store, modify some other data etc.
mysqli_close($con);
//Return modified data
}
?>
index.php:
//Simplified version
require('sqlFunctions.php');
<?php echo query1();?>
所以我在想 - 在每个函数调用上启动与数据库的新连接并不是一个好主意。如果我要在 sqlFunctions.php 中的函数中启动与数据库的连接 - 我需要将另一个变量/引用/指针(你知道我的意思)传递给该文件中的每个函数这是我不想做的事情。
那么完成我需要的最佳方法是什么?
TL;DR;:
- 主文件调用单独文件中的函数
- 该函数执行 sql 查询并返回数据
- 显示返回的数据
- 在每次函数调用时都不会重新打开/关闭数据库连接。
【问题讨论】:
标签: php mysql database function mysqli