昆山做网站的公司,阳信做网站,小说发表哪个网站赚钱,秦皇岛哪有网站优化公司PHP与mysql数据库交互 文章目录 PHP与mysql数据库交互方法速查建立与Mysql链接捕获连接错误SQL语句的执行SQL 错误SQL语句执行结果集对象方法速查 案例 方法速查
函数名 作用
mysqli_connect() 与MySQL 数据库建立连接。
mysqli_close() 关闭与MYSQL 数据库建…PHP与mysql数据库交互 文章目录 PHP与mysql数据库交互方法速查建立与Mysql链接捕获连接错误SQL语句的执行SQL 错误SQL语句执行结果集对象方法速查 案例 方法速查
函数名 作用
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() 从结果集对象中取数据按条取数据。建立与Mysql链接
想要建立连接想要用到一个PHP函数mysqli_connect( d b h o s t , db_host, dbhost,db_user, d b p a s s , db_pass, dbpass,db_name);
里面有四个参数
$db_host
主机的名称$db_user
连接数据库的用户名$db_pass
连接数据库用户名的密码$db_name
连接的库名$db_hostlocalhost;
$db_userroot;
$db_passroot;
$db_namexl_bbs;
$link mysqli_connect($db_host, $db_user, $db_pass, $db_name);$link变量就相当于获取到了一个通行证
捕获连接错误
如果说建立连接失败就会停止执行所有语句并输出错误和错误编号
if(!$link){exit([.mysqli_connect_errno().] .mysqli_connect_error());
}SQL语句的执行
要执行sql语句时需要用到mysqli_query()方法
$sql select * from users
$results mysqli_($link,$sql);如果执行正常就会返回object类型数据否则,就是bool(false)。
SQL 错误
如果在执行SQL 语句的时候发生错误mysqli_query 将返回false。可以使用以下函数捕获错误原因
if(!$results){exit([.mysqli_errno($link).] .mysqli_error($link));
}SQL语句执行
需要用到mysqli_fetch_assoc()方法
导出第一条语句
var_dump($result);所有语句全部导出
while($result mysqli_fetch_assoc($results)){var_dump($result);
}如果说导入第二条语句的话需要执行两遍var_dump($result);但是第一条结果会被覆盖只显示第二条语句
结果集对象
方法速查
函数 说明
mysqli_fetch_row() 以索引数组的方式获取一条记录的数据
mysqli_fetch_assoc() 以关联数组的方式获取一条记录的数据
mysqli_fetch_array() 以索引数组或关联数组的方式获取一条记录的数据
mysqli_fetch_all() 以索引数组或关联数组的方式获取全部记录的数据
mysqli_num_rows() 获取结果集对象中数据条数
mysqli_free_result() 释放与一个结果集合相关的内存案例
利用之前做好的数据库来实现网页显示成果为下图
新建一个数据库把之前数据库实验的备份文件进行导入依次输入以下命令
create database bbs;
use bbs;
source C:/bbs.sql;准备好数据库后用php代码创建连接
?php$db_host127.0.0.1;$db_user root;$db_pass rooe;$db_name bbs;$linkmysqli_connect($db_host,$db_user,$db_pass,$db_name);
?做一个 捕获错误连接不上数据库时进行简单报错 if(!$link){exit(数据库连接错误.【.mysqli_connect_errno().】.mysqli_connect_error());
}写入查询sql语句并用mysqli_query()方法执行sql语句
$sqlselect * from message;$resultsmysqli_query($link,$sql);想要去每条数据使用while循环用mysqlo_fetch_assoc()方法进行取值进行输出条件为mysqlo_fetch_assoc()把全部值取完 再加入表格元素那么就成功了
echo table border2 trtdID/tdtdUID/tdtdTITLE/tdtdCONTENT/td/tr ;while($resultmysqli_fetch_assoc($results)){ echo tr;foreach($result as $key$value){ echo td;echo $value;echo /td;}echo /tr;}最后再关闭链接
mysqli_close($link);优化后可以通过id查找数据库内容的源码如下
premeta charsetutf-8
?php$db_host127.0.0.1;$db_user root;$db_pass root;$db_name bbs;$linkmysqli_connect($db_host,$db_user,$db_pass,$db_name);if(!$link){exit(数据库连接错误.【.mysqli_connect_errno().】.mysqli_connect_error());}
$idisset($_REQUEST[id])?$_REQUEST[id]:1;$sqlselect m.id, u.username, m.title,m.content from message m,user u where m.uid u.id and m.id{$id};;$resultsmysqli_query($link,$sql);if(!$results){exit(数据库错误.mysql_errno().mysql_error());}echo table border2 trtdID/tdtdUID/tdtdTITLE/tdtdCONTENT/td/tr ;while($resultmysqli_fetch_assoc($results)){ echo tr;foreach($result as $key$value){ echo td;echo $value;echo /td;}echo /tr;}
mysqli_close($link);
?