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

效果

相关推荐
三品吉他手会点灯11 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
chushiyunen13 小时前
langchain4j笔记、tools
笔记·python·flask
计算机安禾13 小时前
【数据库系统原理】第19篇:计算机存储层次结构与数据库文件的物理组织
数据库·oracle
JAVA面经实录91713 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
摇滚侠14 小时前
mariadb-libs 被 mysql-community-libs-5.7.28-1.el7.x86_64 取代
数据库·mysql·mariadb
在放️14 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy14 小时前
java知识五(继承)
java·开发语言
c++之路14 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
DIY源码阁14 小时前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse