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$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// 成功建立连接后// 定义要执行的 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);// 此处可添加表格形式输出,下面练习会出现}?>
关闭连接
mysqli_close($link);
练习
新建数据库 bbs
create database bbs;
导入数据库
use bbs;
source C:/Users/LEGION/Desktop/bbs.sql;
# 注意 Windows 的路径用 “/” 隔开
交互
<?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);?>
效果