美文网首页
第12天 PHP操作MySQL(一)

第12天 PHP操作MySQL(一)

作者: zphphp | 来源:发表于2019-11-01 11:31 被阅读0次

    学习目标

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

    phpMyAdmin****的使用方法

     1)导入、导出数据库文件
    2)创建和操作数据库
    

    Navicat的使用方法

     1)导入、导出数据库文件
    2)创建和操作数据库
    

    需求: 统计学生信息
    思路:创建表单,输入学生信息,保存起来,并显示
    前提:PHP必须开启操作mysql的扩展 php_mysqli.dll的扩展
    说明:低版本的PHP操作mysql的扩展是php_mysql.dll,高版本的PHP,已经开始废弃php_mysql.dll,高版本的使用php_mysqli.dll和php_pdo.dll.
    如何查看PHP有没有开启此扩展?
    现在php.ini中开启扩展


    image.png

    去掉前面的 分号(;)


    image.png
    重启apache,然后在PHP脚本中使用phpinfo()进行查看,
    或者使用php -m查看
    phpinfo();
    image.png
    image.png
    PHP操作MySQL的步骤:
    1、PHP连接数据库

    2、选择数据库
    3、设置字符集
    4、发送SQL语句
    5、执行SQL语句
    6、返回结果
    7、释放资源

    PHP连接MySQL服务器

    1、mysqli_connect()

    描述:连接到 MySQL服务器
    语法:mysqli mysqli_connect([host][,username][,password][,dbname][,port])
    参数:
    host:MySQL服务器。可以包含端口号,默认值为“localhost:3306”
    username:用户名。默认值是服务器进程所有者的用户名;
    password:密码。
    dbname:数据库名称。
    port:MySQL服务器的端口号,默认为3306。
    返回值:如果连接成功,则返回MySQLi连接对象。如果失败,则返回FALSE。


    image.png

    2、****mysqli_connect_error()

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


    image.png

    3****、mysqli_close()

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

    image.png

    函数:

    mysqli_error(连接资源) 错误信息
    mysqli_errno(连接资源) 错误编号

    选择当前数据库

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

    image.png

    设置客户端字符集

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

    image.png

    执行各种SQL语句

    mysqli_query()

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

    image.png

    从结果集获取一行数据

    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 [, intresult_type = MYSQLI_BOTH ] )
    ü 参数:$result_type是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
    ü 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
    ü 注意:本函数返回的字段名区分大小写。

    4、mysqli_fetch_all()

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

    image.png

    获取记录数

    1、mysqli_num_rows()

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

    image.png

    2、mysqli_affected_rows()

    ü 描述:取得前一次 MySQL 操作所影响的记录行数;
    ü 语法:int mysqli_affected_rows ( mysqli $link )
    ü 说明:取得最近一次与 $link 关联的 INSERT、UPDATE 或 DELETE 查询所影响的记录行数。

    image.png
    特殊情况:
    image.png

    3、mysqli_insert_id()

    ü 描述:取得上一次插入操作的主键ID;
    ü 语法:int mysqli_affected_rows ( mysqli $link )
    ü 说明:主要针对insert操作

    image.png

    综合案例:学生信息管理

    image.png

    1、创建数据库和表


    image.png

    2、制作表单 add.html


    image.png
    image.png
    3、添加入库 add.php
    image.png

    4、展示数据 index.php


    image.png
    5、删除 del.php
    index.php
    image.png
    del.php
    image.png

    6、修改
    index.php

    image.png
    update.php
    image.png
    update.html
    image.png
    image.png
    edit.php
    image.png

    相关文章

      网友评论

          本文标题:第12天 PHP操作MySQL(一)

          本文链接:https://www.haomeiwen.com/subject/mydfbctx.html