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);
    ?>

效果

相关推荐
心情好的小球藻4 分钟前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python
惜.己16 分钟前
使用python读取json数据,简单的处理成元组数组
开发语言·python·测试工具·json
会编程的林俊杰18 分钟前
MySQL中的锁有哪些
数据库·mysql
cts61820 分钟前
Milvus分布式数据库工作职责
数据库·分布式·milvus
周胡杰20 分钟前
鸿蒙加载预置数据库-关系型数据库-如何读取本地/预制数据库
数据库·华为·harmonyos·鸿蒙
Y40900122 分钟前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
YuTaoShao24 分钟前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
布朗克16824 分钟前
java常见的jvm内存分析工具
java·jvm·数据库
笑衬人心。25 分钟前
TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
笔记·tcp/ip·php
退役小学生呀26 分钟前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s