PHP 直接查询数据库155
在 PHP 中,我们可以使用 MySQLi 或 PDO 等扩展来直接查询数据库。本文将重点介绍使用 MySQLi 扩展进行数据库查询。
连接到数据库
首先,我们需要连接到数据库。我们可以使用以下代码来建立连接:```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建一个 MySQLi 连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
```
执行查询
连接到数据库后,我们可以使用 mysqli_query() 函数来执行查询。该函数接受两个参数:连接对象和查询字符串。```php
// 执行查询
$result = $conn->query("SELECT * FROM table_name");
// 检查查询是否成功
if (!$result) {
die("查询失败: " . $conn->error);
}
```
获取查询结果
查询执行成功后,我们可以使用 mysqli_fetch_assoc() 函数来获取查询结果。该函数从结果集中返回一行数据,并以关联数组的形式存储。```php
// 获取查询结果
$row = $result->fetch_assoc();
// 输出查询结果
echo "ID: " . $row["id"] . "
";
echo "姓名: " . $row["name"] . "
";
```
循环查询结果
如果查询返回多个结果,我们可以使用循环来遍历它们。我们可以使用 mysqli_fetch_all() 函数将所有结果存储到一个数组中,然后使用 foreach 循环遍历数组。```php
// 获取查询结果
$results = $result->fetch_all(MYSQLI_ASSOC);
// 循环查询结果
foreach ($results as $row) {
echo "ID: " . $row["id"] . "
";
echo "姓名: " . $row["name"] . "
";
}
```
使用占位符
为了防止 SQL 注入攻击,我们可以使用占位符来准备我们的查询。占位符用问号 (?) 表示,并使用 mysqli_stmt_prepare() 函数进行准备。```php
// 准备查询
$stmt = $conn->prepare("SELECT * FROM table_name WHERE id = ?");
// 绑定参数
$stmt->bind_param("i", $id);
// 执行查询
$stmt->execute();
// 获取查询结果
$result = $stmt->get_result();
```
关闭连接
查询完成后,我们应该关闭连接以释放资源。我们可以使用 mysqli_close() 函数来关闭连接。```php
// 关闭连接
$conn->close();
```
2024-11-22
下一篇:PHP 判断字符串是否相同
Java方法栈日志的艺术:从错误定位到性能优化的深度指南
https://www.shuihudhg.cn/133725.html
PHP 获取本机端口的全面指南:实践与技巧
https://www.shuihudhg.cn/133724.html
Python内置函数:从核心原理到高级应用,精通Python编程的基石
https://www.shuihudhg.cn/133723.html
Java Stream转数组:从基础到高级,掌握高性能数据转换的艺术
https://www.shuihudhg.cn/133722.html
深入解析:基于Java数组构建简易ATM机系统,从原理到代码实践
https://www.shuihudhg.cn/133721.html
热门文章
在 PHP 中有效获取关键词
https://www.shuihudhg.cn/19217.html
PHP 对象转换成数组的全面指南
https://www.shuihudhg.cn/75.html
PHP如何获取图片后缀
https://www.shuihudhg.cn/3070.html
将 PHP 字符串转换为整数
https://www.shuihudhg.cn/2852.html
PHP 连接数据库字符串:轻松建立数据库连接
https://www.shuihudhg.cn/1267.html