首页 > 后端开发 > php教程 > 如何使用 MySQLi 高效检索单个数据库记录?

如何使用 MySQLi 高效检索单个数据库记录?

Patricia Arquette
发布: 2024-12-26 06:41:09
原创
995 人浏览过

How to Efficiently Retrieve a Single Database Record Using MySQLi?

使用 MySQLi 从数据库中检索单个记录

使用 MySQLi 可以实现从数据库中检索单个记录,而无需借助循环。了解所涉及的语法和技术对于高效获取数据至关重要。

获取关联数组行

要将整行作为关联数组检索,请使用 fetch_assoc( ) 结果对象的方法。例如,要从“users”表中检索一行:

<?php
// Connect to the database
$query = "SELECT * FROM users LIMIT 1";
$result = $conn->query($query);
$row = $result->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
登录后复制

获取单个值

如果只需要特定值,则 fetch_column( ) 方法(PHP 8.1 或更高版本)可以使用。对于 8.1 之前的 PHP 版本,请使用 fetch_row()[0] 语法。例如,要检索数据库中的用户数:

<?php
// Connect to the database
$query = "SELECT COUNT(*) FROM users";
$result = $conn->query($query);
$count = $result->fetch_column();

// Print the user count
echo "Total users: {$count}";
?>
登录后复制

使用带变量的预准备语句

如果查询中需要使用变量,则准备好必须使用语句来防止SQL注入。对于 PHP 8.2 或更高版本,使用 execute_query() 方法:

<?php
// Connect to the database
$query = "SELECT * FROM users WHERE id = ?";
$id = 1;
$row = $conn->execute_query($query, [$id])->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
登录后复制

对于 8.2 之前的 PHP 版本,手动准备并执行语句:

<?php
// Connect to the database
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param('s', $id); // Bind the variable as a string
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
登录后复制

以上是如何使用 MySQLi 高效检索单个数据库记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板