热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP_PHP核心编程(12)

PHP操作MySQL的步骤PHP连接MySQL服务器选择当前数据库执行各种SQL语句从结果集获取一行数据综合案例:学生信息管理CMD模式下操作MySQL数据库步骤1


  • PHP操作MySQL的步骤
  • PHP连接MySQL服务器
  • 选择当前数据库
  • 执行各种SQL语句
  • 从结果集获取一行数据
  • 综合案例:学生信息管理

CMD模式下操作MySQL数据库步骤

 

1、登录MySQL服务器 

2、选择当前数据库 

3、设置客户端显示字符集 

4、执行各种操作数据的SQL语句 


使用phpMyAdmin导入itcast数据库数据

phpMyAdmin是用PHP开发的管理MySQL的网页的软件。

在导入itcast.sql文件之前,先要创建一个空的itcast数据库

导入itcast.sql数据备份文件,到空的itcast数据库中 

 


PHP连接MySQL服务器


1、mysqli_connect()


  • 描述:连接到 MySQL服务器
  • 语法:mysqli  mysqli_connect([host][,username][,password][,dbname][,port])
  • 参数:
    1. host:MySQL服务器。可以包含端口号,默认值为“localhost:3306”
    2. username:用户名。默认值是服务器进程所有者的用户名;
    3. password:密码。
    4. dbname:数据库名称。
    5. port:MySQL服务器的端口号,默认为3306。

  • 返回值:如果连接成功,则返回MySQLi连接对象如果失败,则返回FALSE

 


2、@运算符


  • PHP 支持一个错误控制运算符@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉(不包括语法错误)。
  • @ 运算符只对表达式有效。
  • 对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和 include调用,常量等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例 if foreach 等。

3、exit()或die()


  • 描述:输出一个消息并且退出当前脚本,等同于die()。
  • 语法:void exit ([ string $string ] )
  • 说明:输出 $string 的值,并中止程序的运行。
  • 返回值:没有返回值


4、mysqli_connect_error()


  • 描述:返回上一个 MySQL 连接产生的文本错误信息
  • 语法:string mysqli_connect_error ( void)
  • 参数:没有参数。

 

 


5、mysqli_close()


  • 描述:关闭先前打开的数据库连接
  • 语法:bool mysqli_close ( mysqli $link )


选择当前数据库


  • 描述:一个数据库服务器可能包含很多的数据库,通常需要针对某个具体的数据库进行编程
  • 语法:bool mysqli_select_db(mysqli $link, string $database)
  • 返回值:如果成功返回TRUE,失败则返回FALSE。

 


设置客户端字符集


  • 描述:设置默认字符编码
  • 语法:bool mysqli_set_charset ( mysqli $link , string $charset )
  • 返回:成功时返回 TRUE, 或者在失败时返回 FALSE。

 


执行各种SQL语句


1、mysqli_query()


  • 描述:发送一条 MySQL 查询;
  • 语法:resource mysqli_query(mysqli $link , string $query )
  • 参数:
    1. $query是查询字符串;
    2. $link是创建的活动的数据库连接;
  • 说明:mysqli_query() 仅对 SELECTSHOW DESCRIBE 语句返回一个mysqli_result结果集对象,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysqli_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。
  • 注意:查询字符串不应以分号结束,和命令行模式下有区别。

 


2、mysqli_free_result()


  • 描述:释放与结果集相关联的内存
  • 语法:void mysqli_free_result ( mysqli_result $result )
  • 参数:$result为结果集对象。

内存中的变量何时消失:

(1)网页执行完毕,所有与本网页相关的变量自动销毁;

(2)手动销毁指定的变量。

 


从结果集获取一行数据


1、mysqli_fetch_row()


  • 描述:从结果集中取得一行作为枚举数组
  • 格式:array mysqli_fetch_row ( mysqli_result  $result )
  • 返回:返回根据所取得的行生成的数组,如果没有更多行则返回 FALSE。
  • 说明:mysqli_fetch_row() 从指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
  • 提示:依次调用mysqli_fetch_row()将返回结果集中的下一行,如果没有更多行则返回FALSE 

 


2、mysqli_fetch_assoc()


  • 描述:从结果集中取得一行作为关联数组
  • 语法:array mysqli_fetch_assoc ( mysqli_result  $result )
  • 返回值:从结果集取得的行生成的关联数组,如果没有更多行则返回 FALSE;
  • 注意:此函数返回的字段名大小写敏感

 


3、mysqli_fetch_array()


  • 描述:从结果集中取得一行作为关联数组,或数字数组,或二者兼有
  • 语法:array mysqli_fetch_array ( mysqli_result  $result  [, int $result_type = MYSQLI_BOTH ] )
  • 参数:$result_type是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
  • 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
  • 注意:本函数返回的字段名区分大小写

 

 


4、mysqli_fetch_all()


  • 描述:从结果集中取得所有行作为关联数组、枚举数组、或二者兼有
  • 语法:mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

 提示:获取数据,要不是获取一条,要不是获取多条。

 


获取记录数


1、mysqli_num_rows()


  • 描述:取得结果集中行的数目
  • 语法:int mysqli_num_rows ( mysqli_result  $result )
  • 说明:mysqli_num_rows()返回结果集中行的数目。
  • 注意:此命令仅对 SELECT 语句有效

 


2、mysqli_affected_rows()


  • 描述:取得前一次 MySQL 操作所影响的记录行数;
  • 语法:int mysqli_affected_rows ( mysqli $link )
  • 说明:取得最近一次与 $link 关联的 SELECT、INSERT、UPDATE 或 DELETE 查询所影响的记录行数。
  • 注意:如果最近一次查询失败,函数返回-1。当使用UPDATE查询,MySQL不会将原值和新值一样的值更新,返回值不一定就是查询条件所符合的记录,只有修改过的记录数才会被返回

 


综合案例:学生信息管理


1、学生信息表结构student

 

2、连接数据库的公共文件conn.php 


3、学生信息列表页list.php


(1)制作显示学生信息的表格

 

(2)PHP程序部分 

 

4、删除学生信息delete.php 

 


5、添加学生信息add.php


(1)制作添加学生的表单

 

 

 (2)处理表单提交数据

 


PHP处理复选框数据


1、复选框表单处理

PHP会把name = “hobby[]”看成添加一个数组元素,而HTML把它看成一个字符串。

 

2、PHP如何处理复选框数据 

 

提示:将多个爱好连成一个值,并写入到数据库某个字段中。只需要一个字段来存储爱好。 


推荐阅读
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
author-avatar
MR付的世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有