全栈:mysqli类操作MYSQL数据库

 概述

mysqli (MySQL Improved) 是 PHP 的一个扩展,用于实现对 MySQL 数据库的访问和操作。它提供了丰富的方法和属性,使得开发者能够以面向对象的方式进行数据库编程。

1.[创建连接]:使用mysqli类中构造函数(方法),实例化数据库连接对象

__construct():构造函数,mysqli类中内置方法,初始化mysqli对象时自动调用

参数:主机名(ip)、用户名、密码、数据库名(可选)、端口号(可选)、套接字(可选)

用途:创建一个新的mysqli类的对象,使用传递参数,尝试连接数据库

可以预先定义用到的变量,也可在实例化时,直接传入原始参数

$host = '127.0.0.1';

$username = 'root';

$password = 'root';

$conn = @new mysqli($host, $username, $password);

@ :错误抑制符,如果连接失败,不显示失败提示的敏感信息

2.[检查连接]:使用if条件表达式判断,对象内connect_error属性的值,从而进行连接情况的判断

connect_error(): mysqli类,实例化成对象后的属性

属性返回值:出错时,它是一个描述错误的字符串,连接正常则为 NULL

使用if条件表达式进行属性返回值的判断

if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
}else{
        echo 'status:ok';
}

当数据库连接报错时,对象内connect_error属性值为描述报错内容的字符串。if判断为真,执行if语句
die 函数会输出括号内的错误信息,然后终止脚本的执行

数据库连接正常时,对象内connect_error属性值为NULL。if判断为假,执行else语句。
输出状态为ok

if条件表达式如何判断

if 语句,表达式的值会被自动转换为一个布尔值,其中:

真值(truthy):任何非零的、非空的、非假的值都会被转换为 true。

假值(falsy):值为 0、0.0、""(空字符串)、null、false、NaN(非数字)、一个空数组 array() 等,都会被转换为 false。

3.[执行SQL语句,操作数据库]:使用对象内query方法,进行sql语句的执行

query():对象内置方法,用于执行sql语句,并返回对应结果

所需参数:

将SQL语句以字符串的形式进行赋值的变量,也可以是原始数据

方法返回值:

query() 方法返回的结果取决于执行的 SQL 语句类型:

  1. 对于返回数据集的语句(如 SELECT, SHOW, DESCRIBE 等),query() 返回一个 mysqli_result 对象,这个对象包含了查询结果集,可以通过它来获取具体的数据行和列。

  2. 对于不返回数据集的语句(如 INSERT, UPDATE, DELETE, DROP 等),query() 返回 true,表示语句执行成功。在这些情况下,可以使用 $mysqli->affected_rows 来获取影响的行数,或者使用 $mysqli->insert_id 来获取自增主键的值。

  3. 如果 SQL 语句执行失败query() 返回 false。此时,可以使用 $mysqli->error 来获取错误信息,或者使用 $mysqli->errno 来获取错误编号。

$sql = "SHOW DATABASES";
$result = $conn->query($sql);

var_dump($result);
    

使用var_dump输出结果集的简略信息,包含[索引,字段数(列数),字段的长度信息,行数,类型]

object(mysqli_result)#2 (5)

        {

            ["current_field"]=> int(0)

            ["field_count"]=> int(1)

            ["lengths"]=> NULL

            ["num_rows"]=> int(17)

            ["type"]=> int(0)

        }

失败返回:bool(false)

  • "current_field": 当前字段索引,对于 SHOW DATABASES 这类查询,它通常为 0,因为查询结果不涉及字段索引。

  • "field_count": 结果集中的字段数。对于 SHOW DATABASES 查询,这个值是 1,因为查询只返回一个字段,即数据库的名称。

  • "lengths": 一个数组,包含了结果集中每个字段的长度信息。对于 SHOW DATABASES 查询,这个属性通常是 NULL,因为长度信息不适用。

  • "num_rows": 结果集中的行数。在你的例子中,服务器上有 17 个数据库。

  • "type": 结果集的类型,对于 mysqli_result 对象,这个值通常是 0,表示这是标准的 mysqli_result 对象。

4.[判断查询情况并输出具体查询结果]:使用if判断结果集对象,并使用fetch方法进行while循环输出

$result:执行SQL语句后的结果集对象

fetch_assoc():结果集对象中包含的方法,用于输出结果集中每一行的内容,并将其与列名拼接成关联数组,列名为键,行具体内容为值

每次调用都输出结果集中下一行的内容,当结果集中没有可以输出的内容时,返回NULL

$row = $result->fetch_assoc()

 var_dump($row);

输出结果集中第一行的内容: array(1) { ["Database"]=> string(18) "information_schema" }

if ($result) {
        echo "Databases on the server:<br>";
        // 输出每个数据库名称
        while ($row = $result->fetch_assoc()) {
            echo $row['Database'] . "<br>";
        }
        $conn->close()
    } else {
        var_dump($result);  
        echo'<br><hr>'; //php解释器中false会转换成0,而0在html中是不可见的
        echo "Query failed: " . $conn->error;
    }

循环开始:while 循环开始,调用 fetch_assoc() 尝试获取第一行数据。

获取数据:如果存在数据行,fetch_assoc() 返回一个关联数组,循环继续。

处理数据:在循环体内部,处理(通常是输出)当前行的数据。

循环继续:循环结束后再次调用 fetch_assoc() 尝试获取下一行数据。

结果集结束:当结果集中没有更多的行时,fetch_assoc() 返回 null,while 循环的条件不再满足,循环停止。

关闭结果集:在循环结束后,通常调用 $result->close() 来关闭结果集,释放资源。

使用if进行结果集对象的判断

如果sql语句执行成功,进行while循环

1.使用$row变量,接收结果集对象调用fetch_assoc方法,产生的关联数组。

2.输出具体的值,直到结果集中所有数据输出完成

3.结果集中所有数据输出完成,返回NULL传递给while循环,while循环关闭

4.调用mysqli对象中close方法关闭数据库连接

如果sql语句执行失败,结果集对象返回false

执行else语句,调用mysqli对象内error方法输出具体报错信息

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP(称:PHP: Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本语言,以其易学易用、高效灵活的特性深受广大开发者喜爱。诞生于1995年,由Rasmus Lerdorf创建,PHP最初用于简单的网页动态处理,如今已发展成为一款功能齐、生态丰富的开发工具,支持从网站前端交互到后端业务逻辑、数据库操作乃至API接口开发的方位需求。 PHP的一大特点在于其与HTML的深度融合,可以直接嵌入到HTML文档中,通过特殊的起始标签“<?php”和结束标签“?>”界定PHP代码段。这种特性使得开发者能够轻松地在静态网页中插入动态内容,实现数据渲染、条件判断、循环处理等功能,极大地简化了Web开发流程。同时,PHP也支持纯脚本文件编写,适用于构建复杂的后台逻辑。 PHP语法简洁明了,借鉴了C、Perl等语言的特点,易于理解和学习,对于初学者友好。它支持面向过程、面向对象以及函数式编程范式,可根据项目需求和开发者喜好灵活选择。PHP内置丰富的数据类型(如整型、浮点型、字符串、数组、对象等),并提供了大量的预定义函数,涵盖了字符串操作、数学运算、文件系统处理、日期时间处理、数据库连接等常见功能,极大提高了开发效率。 在Web开发中,PHP与MySQL数据库的搭配尤为经典。PHP提供mysqli、PDO等数据库扩展,能够无缝连接MySQL,进行SQL查询、数据插入、更新、删除等操作,实现动态网站的数据持久化。此外,PHP还支持与其他数据库系统的连接,如PostgreSQL、SQLite、Oracle等,具有良好的数据库兼容性。 PHP拥有庞大的开发者社区和丰富的开源项目,如内容管理系统(CMS)WordPress、Drupal、Joomla,框架 Laravel、Symfony、CodeIgniter等,为开发者提供了丰富的代码资源和快速开发的便利。同时,官方维护的PHP文档详尽面,社区活跃的技术论坛和问答网站为学习和解决问题提供了有力支持。 在性能优化方面,PHP支持 opcode 缓存(如APC、OpCache)以加速脚本执行,可通过配置调整、代码优化、使用缓存技术等手段提升应用性能。近年来,PHP持续进行性能改进与新特性的引入,如PHP 7系列版本在速度上有了显著提升,新增了类型声明、标量类型提示、null合并运算符等语法特性,进一步提升了开发效率和代码质量。 总的来说,PHP作为一种成熟的Web开发语言,凭借其易用性、灵活性、丰富的库与框架支持、强大的社区生态以及持续的性能优化,成为了构建各类动态网站、Web应用及API服务的理想选择。
PHP(称:PHP: Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本语言,以其易学易用、高效灵活的特性深受广大开发者喜爱。诞生于1995年,由Rasmus Lerdorf创建,PHP最初用于简单的网页动态处理,如今已发展成为一款功能齐、生态丰富的开发工具,支持从网站前端交互到后端业务逻辑、数据库操作乃至API接口开发的方位需求。 PHP的一大特点在于其与HTML的深度融合,可以直接嵌入到HTML文档中,通过特殊的起始标签“<?php”和结束标签“?>”界定PHP代码段。这种特性使得开发者能够轻松地在静态网页中插入动态内容,实现数据渲染、条件判断、循环处理等功能,极大地简化了Web开发流程。同时,PHP也支持纯脚本文件编写,适用于构建复杂的后台逻辑。 PHP语法简洁明了,借鉴了C、Perl等语言的特点,易于理解和学习,对于初学者友好。它支持面向过程、面向对象以及函数式编程范式,可根据项目需求和开发者喜好灵活选择。PHP内置丰富的数据类型(如整型、浮点型、字符串、数组、对象等),并提供了大量的预定义函数,涵盖了字符串操作、数学运算、文件系统处理、日期时间处理、数据库连接等常见功能,极大提高了开发效率。 在Web开发中,PHP与MySQL数据库的搭配尤为经典。PHP提供mysqli、PDO等数据库扩展,能够无缝连接MySQL,进行SQL查询、数据插入、更新、删除等操作,实现动态网站的数据持久化。此外,PHP还支持与其他数据库系统的连接,如PostgreSQL、SQLite、Oracle等,具有良好的数据库兼容性。 PHP拥有庞大的开发者社区和丰富的开源项目,如内容管理系统(CMS)WordPress、Drupal、Joomla,框架 Laravel、Symfony、CodeIgniter等,为开发者提供了丰富的代码资源和快速开发的便利。同时,官方维护的PHP文档详尽面,社区活跃的技术论坛和问答网站为学习和解决问题提供了有力支持。 在性能优化方面,PHP支持 opcode 缓存(如APC、OpCache)以加速脚本执行,可通过配置调整、代码优化、使用缓存技术等手段提升应用性能。近年来,PHP持续进行性能改进与新特性的引入,如PHP 7系列版本在速度上有了显著提升,新增了类型声明、标量类型提示、null合并运算符等语法特性,进一步提升了开发效率和代码质量。 总的来说,PHP作为一种成熟的Web开发语言,凭借其易用性、灵活性、丰富的库与框架支持、强大的社区生态以及持续的性能优化,成为了构建各类动态网站、Web应用及API服务的理想选择。
是一款基于PHP+MySQL开发的单商家电子商务系统,主要包括基础管理,文章管理,系统管理,会员管理,商品管理,地区管理,订单管理,支付管理,运营管理,财务管理等功能,系统为满足企业快速建立B2C商城倾心打造 PHP(称:PHP: Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本语言,以其易学易用、高效灵活的特性深受广大开发者喜爱。诞生于1995年,由Rasmus Lerdorf创建,PHP最初用于简单的网页动态处理,如今已发展成为一款功能齐、生态丰富的开发工具,支持从网站前端交互到后端业务逻辑、数据库操作乃至API接口开发的方位需求。 PHP的一大特点在于其与HTML的深度融合,可以直接嵌入到HTML文档中,通过特殊的起始标签“<?php”和结束标签“?>”界定PHP代码段。这种特性使得开发者能够轻松地在静态网页中插入动态内容,实现数据渲染、条件判断、循环处理等功能,极大地简化了Web开发流程。同时,PHP也支持纯脚本文件编写,适用于构建复杂的后台逻辑。 PHP语法简洁明了,借鉴了C、Perl等语言的特点,易于理解和学习,对于初学者友好。它支持面向过程、面向对象以及函数式编程范式,可根据项目需求和开发者喜好灵活选择。PHP内置丰富的数据类型(如整型、浮点型、字符串、数组、对象等),并提供了大量的预定义函数,涵盖了字符串操作、数学运算、文件系统处理、日期时间处理、数据库连接等常见功能,极大提高了开发效率。 在Web开发中,PHP与MySQL数据库的搭配尤为经典。PHP提供mysqli、PDO等数据库扩展,能够无缝连接MySQL,进行SQL查询、数据插入、更新、删除等操作,实现动态网站的数据持久化。此外,PHP还支持与其他数据库系统的连接,如PostgreSQL、SQLite、Oracle等,具有良好的数据库兼容性。 PHP拥有庞大的开发者社区和丰富的开源项目,如内容管理系统(CMS)WordPress、Drupal、Joomla,框架 Laravel、Symfony、CodeIgniter等,为开发者提供了丰富的代码资源和快速开发的便利。同时,官方维护的PHP文档详尽面,社区活跃的技术论坛和问答网站为学习和解决问题提供了有力支持。 在性能优化方面,PHP支持 opcode 缓存(如APC、OpCache)以加速脚本执行,可通过配置调整、代码优化、使用缓存技术等手段提升应用性能。近年来,PHP持续进行性能改进与新特性的引入,如PHP 7系列版本在速度上有了显著提升,新增了类型声明、标量类型提示、null合并运算符等语法特性,进一步提升了开发效率和代码质量。 总的来说,PHP作为一种成熟的Web开发语言,凭借其易用性、灵活性、丰富的库与框架支持、强大的社区生态以及持续的性能优化,成为了构建各类动态网站、Web应用及API服务的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值