PHP MySQL 交互 笔记/练习

PHP 与 MySQL 交互

交互函数

函数名 作用
mysqli_connect() 与MySQL 数据库建立连接。
mysqli_close() 关闭与MYSQL 数据库建立的连接。
mysqli_connect_errno() 与MySQL 数据库建立连接时,发生错误时的错误编号。
mysqli_connect_error() 与MySQL 数据库建立连接时,发生错误时的错误信息。
mysqli_query() 执行SQL 语句。
mysqli_errno() 执行SQL 语句时,发生错误的编号。
mysqli_error() 执行SQL 语句时,发生错误的信息。
mysqli_fetch_assoc() 从结果集对象中取数据,按条取数据。

建立连接

php 复制代码
<?php
    $db_host="127.0.0.1"; //或 localhost
    $de_user="root";      // 用户名
    $db_pass="root";      // 密码
    $db_name="bbs";       // 数据库名
    $link = @mysqli_connect($db_host,$de_user,$db_pass,$db_name);
	// 防止报错加 @
	if(!$link){
        // 如果连接数据库失败则输出连接失败
        echo "connect to database failed!";
        echo mysqli_connect_errno();
        // 输出错误编号
        echo mysqli_connect_error();
        // 输出错误原因
        exit();
        //连接失败直接退出,不执行后续代码
    }else{
        echo "connect to database access";
    }
    ?>

执行语句

php 复制代码
<?php
    // 成功建立连接后
    
    // 定义要执行的 sql 语句
    $sql = "select * from message;";

	// 返回结果集对象
	$results = mysqli_query($link,$sql);
	
	if(!$results){
     // 如果发生错误,执行失败
        echo mysqli_errno($link);
        // 返回错误编号
        echo mysqli_error($link);
        // 返回错误信息
    }

	// 从结果集对象中取数据
	// $result = mysqli_fetch_assoc($results); 返回关联数组
	while($result = mysqli_fetch_assoc($results)){
    // $result 能取到值时,() 内为 true,执行循环
    // 当取完全部数据时,$result 的取值变为空,此时 () 内为 false,跳出循环
        var_dump($result);
        // 此处可添加表格形式输出,下面练习会出现
    }
    ?>

关闭连接

php 复制代码
mysqli_close($link);

练习

新建数据库 bbs

mysql 复制代码
create database bbs;

导入数据库

mysql 复制代码
use  bbs;
source C:/Users/LEGION/Desktop/bbs.sql;
# 注意 Windows 的路径用 "/" 隔开

交互

php 复制代码
<?php
    $db_host="127.0.0.1"; //或 localhost
    $de_user="root";
    $db_pass="root";
    $db_name="bbs";
    $link = @mysqli_connect($db_host,$de_user,$db_pass,$db_name);
	// 防止报错加 @
	if(!$link){
        $failed = "[".mysqli_connect_errno()."]".mysqli_connect_error();
        exit($failed);
        //连接失败直接报错退出,不执行后续代码
    }else{
        $sql = "select * from message;";
        // 定义数据库查询语句

        $results = mysqli_query($link,$sql);
        // 返回结果对象集
        
        if(!$results){
        // 如果获取失败
        echo "[".mysqli_errno($link)."]".mysqli_error($link);
        }

        echo"<table border=1>";

        echo"<tr><td>id</td><td>uid</td><td>title</td><td>content</td></tr>";
        //  每条数据包含 id、uid、title、content 四项

        while($result = mysqli_fetch_assoc($results)){
        // 在查询的对象集中依次提取每条数
        
        echo "<tr>";
        // 每次循环(每条留言)建立一行
        
        foreach($result as $key => $value){
            echo "<td>";
            echo $value;
            echo "</td>";
        }
        echo "</tr>";
    }
    echo"</table>";
    }
    mysqli_close($link);
    ?>

效果

相关推荐
wuminyu3 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
新时代牛马4 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
猿与禅4 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界4 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮4 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
九皇叔叔4 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
莫陌尛.4 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
云和恩墨4 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite5 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
开心就多写,一点就开心5 小时前
导演视听语言与分镜系统笔记(一):景别系统、机位视点与时空连贯性设计
笔记·aigc·镜头·电影