0

0

PHP 操作 MySQL

不言

不言

发布时间:2018-04-26 15:43:29

|

19938人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了PHP 操作 MySQL,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

PHP 操作 MySQL

相关mysql视频教程推荐:《mysql教程

一、使用PHP连接MySQL数据库

使用php函数 mysqli_connect 连接上mysql数据库
语法:$conn = mysqli_connect('主机名','用户名','密码','数据库名',端口); 连接成功返回资源对象,失败返回false
$conn 称为【数据库连接标识】

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect('localhost','root','root','student') or die("数据库连接错误!");
echo "
";
var_dump($conn);echo "
";

二、使用PHP访问MySQL数据库

使用PHP函数 mysqli_query 向MySQL数据库发送SQL指令去查询,将MySQL数据库返回的结果封装成对象作为函数的返回值。
语法:$result = mysqli_query(数据库连接标识,SQL指令);  
$result 称为【结果集】

三、结果集的处理

有两种结果集,主要区别于当前所执行的SQL指令,是否存在数据返回。

  1. 有返回数据:select、show、desc
    mysqli_query 会返回一个资源类型。执行成功返回结果集,失败返回 false
    注意:由于资源类型永远为真,不能用于判断是否有数据,只能判断命令是否执行成功

  2. 无返回数据:insert、delete、update、set、DDL(数据定义语言,如create、alter、drop)
    mysqli_query 会返回一个布尔值。执行成功返回true,失败返回 false

    立即学习PHP免费学习笔记(深入)”;

使用 mysqli_fetch_assoc 从结果集中读取数据,将读取到的数据以关联数组的形式返回,关联数组的键名就是 字段名 ,同时结果集的指针向下移动一行。
语法:$row = mysqli_fetch_assoc(结果集);

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect('localhost','root','root','student') or die("数据库连接错误!");
$rs = mysqli_query($conn, 'set names utf8');//设置PHP与MySQL交互默认字符集var_dump($rs);
$rs = mysqli_query($conn, 'select * from student');
while ($row = mysqli_fetch_assoc($rs)) {    
echo "
";
    var_dump($row);    
    echo "
"; }

从结果集中得到数据的三个函数:

  1. mysqli_fetch_assoc()  获取一行数据作为【关联】数组返回

  2. mysqli_fetch_row() 获取一行数据作为【索引】数组返回

  3. mysqli_fetch_array() 获取一行数据作为【关联】数组和【索引】数组返回

统计结果集中数据的行数
语法:mysqli_num_rows(结果集);  
通常用于判断结果集中是否有数据,如果大于0就证明有数据,等于0就是没数据。

echo mysqli_num_rows($conn);

释放结果集,释放结果集所占的内存空间
语法:mysqli_free_result(结果集);

mysqli_free_result($rs);

四、关闭数据库连接

语法:mysqli_close(数据库连接标识);  
如不使用 mysqli_close 关闭数据库连接,PHP默认在代码执行结束后自动关闭。

mysqli_close($conn);

五、其他用法

错误信息
语法:mysqli_error(数据库连接标识);  
通常用于对错误进行调试和查看

echo mysqli_error($conn);

获取刚插入数据的ID
语法:mysqli_insert_id(数据库连接标识);

六、项目的字符编码

MySQL的字符集
MySQL数据最终是保存在数据库,表,记录上的。
数据在真实保存时,受到几个地方的影响:

  • 字段的编码

  • 表的编码

  • 库的编码

  • MySQL服务器的内置编码

如果字段上设置了编码,保存数据以字段编码为准。
如果字段没有设置编码,以表的编码为准。
如果表没有设置编码,则以库上设置的编码为准。
如果库没有设置编码,则以MySQL服务器的内置编码为准。

以上编码都是服务器确定的,只需对数据库、表、字段的编码进行设置即可。

数据在客户端展示的编码
四个地方影响客户端的展示

  1. 数据在服务器端存储的编码

下面三个与客户端相关

  1. 客户端向服务器端发送的数据编码
    服务器变量(配置项):character_set_client

  2. 客户端与服务器端之间的连接层使用的编码
    服务器变量(配置项):character_set_connection

  3. 服务器端向客户端发送的处理结果的数据编码
    服务器变量(配置项):character_set_results

可以使用 show variables like 'char%'; 在MySQL命令行模式下查看相关变量。
可使用 set指令单独设置,如:set character_set_results=utf8;

set names 是一个快捷操作,同时设置了以上三个服务器变量(配置项),当使用set names utf8;时,相当于

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_results=utf8;

项目中确保字符编码五个地方统一

  1. MySQL数据库服务器保存数据的编码

  2. 设置php与MySQL交互层编码 mysqli_query($conn, 'set names utf8');

  3. PHP与浏览器之间交互的编码 header("Content-type:text/html;charset=utf-8");

  4. HTML meta 标签声明使用编码

  5. PHP文件保存的编码(在编辑器中设置)

更多mysql相关知识请关注php中文网mysql视频教程频道

相关推荐:

PHP操作JSON方法大全

PHP操作MongoDB实现增删改查功能

【mysql视频教程】2019年最火的5个mysql视频教程推荐

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

63

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

70

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 816人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号