PHP使用MySQLi扩展连接数据库并执行查询实例

云舒
云舒
发布时间:2026-10-13 | 3人浏览过
原创

本文演示如何利用PHP的mysqli扩展安全连接MySQL数据库,并进行基础数据查询。文章提供了完整的代码模板,涵盖建立连接、异常判断及结果提取步骤,适用于需要快速实现数据库交互功能的开发场景。

1. 环境准备与连接配置

在PHP中操作MySQL数据库,推荐使用原生的 mysqli 扩展或PDO。本节以 mysqli_connect 函数为例,说明如何建立与服务器的连接。该函数主要包含四个核心参数:主机地址、用户名、密码和默认数据库名。

第1步:编写数据库连接脚本

目的:创建到MySQL服务器的会话,并处理连接失败的情况。
入口/动作:新建PHP文件,使用 mysqli_connect() 发起连接请求。

<?php
// 连接数据库服务器
$link = mysqli_connect(
  'localhost',       /* 连接MySQL地址 */
  'jian',            /* 连接MySQL用户名 */
  '123456',          /* 连接MySQL密码 */
  'jian'             /* 连接数据库名称*/
);

// 检查连接是否成功
if (!$link) {
  printf("Can't connect to MySQL Server. Errorcode: %s", mysqli_connect_error());
  exit;
} else {
  echo '数据库连接上了!';
}

// 关闭连接
mysqli_close($link);
?>

关键参数说明:
- localhost:指定MySQL服务器位置,本地开发通常为 localhost。
- jian / 123456:分别代表数据库管理员账号和密码。实际项目中,建议使用最小权限的应用账号而非root账号。
- jian(第四个参数):指定默认操作的数据库schema。

当代码执行无误时,界面将输出确认信息,证明网络握手及身份验证已完成 。

2. 执行数据查询操作

连接建立后,即可通过SQL语句对数据进行增删改查。以下示例演示如何使用 SELECT 语句获取满足特定条件(如分数大于60)的学生记录。

第2步:构造并执行SQL查询

目的:从数据库中检索符合条件的数据并以表格形式呈现。
入口/动作:使用 mysqli_query() 执行SQL字符串,并通过循环提取结果集。

首先,我们需要确认目标数据表的结构,例如名为 jian_scores 的表中包含学生ID、班级和分数字段 。

接下来,整合连接与查询逻辑:定义SQL查询语句,执行查询,并逐行读取返回的数据数组。查询完成后,需手动释放结果集内存以优化性能。

SELECT id,class,scores FROM jian_scores WHERE scores>60

完整的PHP实现代码如下:

<?php
/* Connect to a MySQL server 连接数据库服务器 */
$link = mysqli_connect(
  'localhost', 
  'jian',   
  '123456', 
  'jian');  

if (!$link) {
  printf("Can't connect to MySQL Server. Errorcode: %s", mysqli_connect_error());
  exit;
} else {
  echo '数据库连接上了!'. "
"; } // 执行查询 if ($result = mysqli_query($link, 'SELECT id,class,scores FROM jian_scores WHERE scores>60 ')) { echo('id 班级 分数 '). "
"; /* Fetch the results of the query 遍历返回的结果 */ while( $row = mysqli_fetch_assoc($result) ){ // 输出每行的id, class, scores字段值 echo $row['id'], " ", $row['class'], " ", $row['scores'], "
"; } /* Destroy the result set and free the memory 结束查询释放内存 */ mysqli_free_result($result); } /* Close the connection 关闭连接*/ mysqli_close($link); ?>

操作逻辑解析:
1. mysqli_query() 接收连接句柄和SQL字符串,成功则返回结果集对象,失败返回false。
2. mysqli_fetch_assoc() 在while循环中将当前行以关联数组形式返回,便于通过列名访问数据。
3. 务必调用 mysqli_free_result() 释放资源,特别是在处理大量数据时。

执行上述代码后,终端或浏览器将展示筛选后的学生成绩列表,直观反映查询条件的有效性 。

3. 注意事项与排错

  • 编码问题:在修改MySQL配置文件 my.ini 等环境变量时,需注意字符集设置。部分环境下强制更改为 utf-8 可能导致服务启动失败,若出现此类异常,可尝试暂时回退至兼容模式或检查配置文件语法是否正确。
  • 安全性提醒:生产环境中避免将数据库密码硬编码在PHP源文件中,建议改用环境变量或独立的配置文件管理敏感凭证。

以上就是PHP使用MySQLi连接数据库并执行查询的详细内容,更多关于PHP操作数据库的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表