验证是否存在到mySQL的连接,或者让Apache来连接



我创建了一个函数来连接php:中的数据库

function fn_connect($is_write = false)
{
$host = '127.0.0.1';
$db = 'name_db';
if ($is_write) {
$user = 'user_write';
$pwd = 'password_write';
} else {
$user = 'user_read';
$pwd = 'password_read';
}
$conn = new mysqli($host, $user, $pwd, $db);
if ($conn->connect_error) {
die('The database is not available. Please, try again later.');
}
return $conn;
}

当我需要连接时,我会像这个一样调用它(并关闭它(

$conn = fn_connect(true);
$stmt = $conn->prepare($q);
$stmt->execute();
....
$stmt->close();
$conn->close();

我认为验证连接是否存在是个好主意,这样,我想,我每次都会免费连接到数据库,比如这样:

if (!isset($conn)) $conn = fn_connect(true);
$stmt = $conn->prepare($q);
$stmt->execute();
....
$stmt->close();
if (isset($conn)) $conn->close();

这是个好主意,好做法吗?我是否应该正常连接,让Apache/PHP来完成其余的工作(无需验证任何内容(?

在让php尝试获取或发送数据之前,检查连接是一种很好的做法和风格。

不好的风格是在连接中使用die,因为它会留下一个破碎的页面。

更好的方法是设计页面,以便在连接断开时页面仍然可以工作。

相关内容

最新更新