我想创建一个首先调用数据库连接的函数。完成后,我将使用连接变量进行查询,然后使用其他函数关闭它。
如何通过制作两个不同的功能来建立这个功能?我应该创建全局变量吗?
建立连接
function setcon(){
$conn= new mysqli($server,$username,$pass,$db);
if ($conn->connect_error) { die($conn->connect_error);}}
销毁连接
function endcon(){
$conn->close();}
我需要在查询中使用连接变量($ conn),那么我应该将它用作全局变量吗?
答案 0 :(得分:0)
拥有全局变量并不是一种好习惯。
这取决于您的项目范围和体系结构,但我建议将数据库连接作为connect函数的返回值(在您的情况下为setcon)。每个使用数据库的函数都需要作为参数传递连接变量。
对于更复杂的项目,您可以采用面向对象的方式,并构建一个数据库连接对象,同时注意所有常见的检查和错误处理。如果您计划在某个时刻切换到其他数据库,则建议使用此方法。
答案 1 :(得分:-2)
试试这个:
function connect($server, $username, $pass, $db)
{
closeConnect();
$dbName = $db;
$dc = mysqli_connect($server, $username, $pass);
if ( ! $dc) {
echo "Connection to $dbName failed!";
}
mysqli_select_db($dbName, $dc);
}
function closeConnect()
{
global $dc;
if ($dc)
@mysqli_close($dc);
$dc = null;
}
希望它对你有所帮助!