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

效果

相关推荐
Mitch3111 分钟前
【漏洞复现】CVE-2015-5531 Arbitrary File Reading
web安全·elasticsearch·网络安全·docker·漏洞复现
ccc_9wy16 分钟前
暗月红队考核靶场ack123的测试报告[细节](二)
网络安全·暗月ack123·socks5内网代理·mssql漏洞·杀软对抗·制作免杀木马·烂土豆提权
古希腊掌管学习的神25 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师26 分钟前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
m0_7482448328 分钟前
StarRocks 排查单副本表
大数据·数据库·python
雨中rain32 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
就爱学编程34 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
oneouto34 分钟前
selenium学习笔记(二)
笔记·学习·selenium
C++忠实粉丝38 分钟前
Redis 介绍和安装
数据库·redis·缓存
sealaugh3239 分钟前
aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发
笔记·学习·aws