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

效果

相关推荐
追风林1 分钟前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
一坨阿亮3 分钟前
Linux 使用中的问题
linux·运维
aloha_7893 分钟前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
记录成长java33 分钟前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山33 分钟前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
睡觉谁叫~~~37 分钟前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程38 分钟前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
观音山保我别报错38 分钟前
C语言扫雷小游戏
c语言·开发语言·算法
毕业设计制作和分享1 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil271 小时前
Redis - String 字符串
数据库·redis·缓存