php封装一个数据库查询的函数
在网站开发中,对于数据库的操作是非常常见的。而对于PHP语言,查询数据库也是一个非常重要的功能。在php中,我们通过Mysqli和PDO两种扩展去操作数据库。
而在使用mysqli和PDO查询数据库时,我们通常需要写很长的代码,这样增加了不必要的代码量和开发时间。针对这种情况,我们可以封装从数据库查询的函数,以达到代码优化和提高开发效率的目的。
一、MySQLi查询封装函数
使用Mysqli查询时,我们可以封装以下查询函数:
- 连接数据库函数:
function connectDb() {
$servername = "yourservername";
$username = "yourusername";
$passWord = "yourpassword";
$dbname = "yourdbname";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
return $conn;
}
- 查询函数:
function selectDb($query) {
$conn = connectDb();
$result = $conn->query($query);
if ($result === false) {
die("查询失败: " . $conn->error);
}
$data = array();
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
$conn->close();
return $data;
}
- 插入、更新、删除函数:
function updateDb($query) {
$conn = connectDb();
if ($conn->query($query) === true) {
$status = true;
} else {
$status = false;
}
$conn->close();
return $status;
}
二、PDO查询封装函数
使用PDO查询时,我们可以封装以下查询函数:
- 连接数据库函数:
function connectDb() {
$host = "yourhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdbname";
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
return $conn;
}
- 查询函数:
function selectDb($query) {
$conn = connectDb();
$stmt = $conn->prepare($query);
$stmt->execute();
$data = array();
while ($row = $stmt->fetch()) {
$data[] = $row;
}
$conn = null;
return $data;
}
- 插入、更新、删除函数:
function updateDb($query) {
$conn = connectDb();
$status = true;
try {
$conn->beginTransaction();
$stmt = $conn->prepare($query);
$stmt->execute();
$conn->commit();
} catch(PDOException $e) {
$conn->rollBack();
$status = false;
}
$conn = null;
return $status;
}
通过对以上两种查询封装函数的使用,我们可以大大减少查询数据库所需要的代码行数,提升代码效率和开发效率。
总结
开发中,封装函数是提高代码质量和开发效率不可或缺的一部分。而在进行数据库查询操作时,我们可以通过数据库查询封装函数,优化查询代码,提升开发效率。以上封装函数仅供参考,读者根据具体项目需求可进行更改和完善。
以上就是php封装一个数据库查询的函数的详细内容,更多请关注其它相关文章!
相关文章