一. web数据库构架的工作原理
1. 用户由浏览器发出HTTP请求,请求特定的web页面。
2. web服务器接受接收到对特定页面的请求,检索相应文件,并将其传递给php引擎处理。
3. php引擎开始解析脚本,脚本主要包括,连接到数据库和执行查询命令
4. mysql数据库接收到对数据库查询的请求,处理请求,并将查询结果返回给php引擎。
5. php引擎完成脚本运行后,将结果返回给web服务器
6. web服务器将结果返回给客户端浏览器,并将结果展现给用户。
二. web查询数据库的基本步骤
1. 检查并过滤来自用户的数据
2. 建立一个到数据库的连接
3. 查询数据库
4. 获取查询结果
5. 将结果显示给用户
三 具体操作
1. 连接数据库
php为mysql提供了函数库,这个函数库是mysqli。
$db =new mysqli('host','db_name','username','pwd');
该连接返回一个资源,而不是一个对象。
2. 数据库连接检查
if(mysqli_connect_errno()){echo"error";exit;}
3. 选择数据库
mysqli_select_db('db_name');
4. 查询数据库
$query = "select * from table_name";
$result = $db->query($query); //或者mysqli_query($query);
5. 检索查询结果
返回的结果保存在num_rows中,表示查询结果的行数。
$num_rows = $result->num_rows;
获取查询每一行,并存储到数组中(按数据表或多个字段查询)
$row = $resullt->fetch_assoc();该函数接受集合中每个关键词代表一个属性名,每个之为数组中相应的值。
echo $row['name'] 获取数组中的属性name对应的值
获取查询结果每一行,存储到对象中 (按数据表或多个字段查询)
$row = $result->fetch_object();此时访问每个属性echo $row->name;
若查询条件为查询某个字段,则可以将查询结果保存到列举数组(一维数组)中。
$row = $result->fetch_row($result);此时可通过$row[0],$row[1],$row[2]访问查询结果。
6. 从数据库断开连接
1. 释放数据
$result->free();
2. 关闭数据库
$db->close();