php抓取网页连接函数(实现PHP与SQL数据库交互实验演示实验环境(一))
优采云 发布时间: 2022-04-11 03:31php抓取网页连接函数(实现PHP与SQL数据库交互实验演示实验环境(一))
内容
1 简介
(1)为了实现网页访问后台数据库的功能,需要与网页代码中对应的数据库进行连接。
(2)PHP 5及以上版本推荐使用以下方法连接MySQL:
(3)两种连接方式对比:
(4)本节通过一个简单的例子来介绍实现PHP与SQL连接的*敏*感*词*,主要介绍MySQLi的方法。
2 PHP与SQL数据库交互实验演示2.1 实验环境
(1)服务器:本实验基于虚拟机win2008系统的WAMP环境,该环境的配置过程请参考文章"【语言环境】WAMP环境的部署与优化- Win2008R2SP1 作为操作系统”。
(2)客户端:使用浏览器访问和控制。
(3)服务端和客户端在同一个局域网中,在服务端打开phpstudy,确保可以从客户端浏览器访问。
2.2 创建数据库
(1)通过访问phpMyAdmin登录数据库。管理员通过浏览器登录phpMyAdmin(位置在网站默认根目录下的phpMyAdmin文件夹下),输入URL服务器IP/phpMyAdmin在浏览器中输入mysql数据库的登录页面;输入用户名和密码登录(默认用户名和密码都是root),点击执行登录mysql数据库。
(2)数据库页面,登录数据库后可以看到如下界面,左边是默认的4个数据库,点击箭头所指的数据库,操作数据库。
(3)创建一个数据库jrlt。按如下操作,新建一个数据库jrlt,选择类型为“utf8_genrral_ci”,点击创建。创建成功后,在左侧可以看到创建好的数据库。
(4)进入数据库。点击数据库进入,进入后可以看到数据库中没有数据表。
(5)创建数据表users(主要用于存放用户信息id、name、password、photo、money,共5个字段)。创建数据表如下,点击Execute。
(6)编辑数据表。创建数据表的列名(id名密码照片钱),并设置响应的类型和长度,设置id键为主键。(主键需要非空增量),然后单击保存数据表。
(7)可以点击左侧新建的users表,该表的详细结构信息如下图所示。
2.3 插入数据
(1)进入数据表SQL操作界面。点击用户表→点击SQL进入修改表界面→点击要使用的SQL预定义语句。
(2)修改SQL命令。修改命令如下,点击执行。注意符号为英文格式。
INSERT INTO `users`(`name`, `password`,`photo`, `money`) VALUES ("DuZZ",123456,"c:\\photo\\touxiang.png",100);
INSERT INTO `users`( `name`, `password`, `photo`, `money`) VALUES ("GuQQ",654321,"c:\\photo\\touxiang.png",100);
(3)点击左侧的users表可以看到我们输入的用户信息,这里我们输入了DuZZ和GuQQ两个账号,如下图。
2.4 实现PHP与数据库的交互2.4.1 三步实现PHP与数据库的交互
(1)建立连接,用户建立连接时需要提供用户名+密码+地址+数据库名,其中数据库名可以在连接过程中切换。
(2) 执行 SQL 语句。
(3) 断开连接。
2.4.2 程序代码1:简单的三步实现
简单的三步交互,根据连接是否建立成功反馈信息。访问此页面以获取结果
代码中的功能分析如下。更多细节请参考官方手册《MySQL 增强扩展》。
代码执行结果如下:
2.4.3 程序代码2:优化代码1
代码的第一个输出是对象,不方便查看。我们可以使用 mysqli_fetch_assoc() 函数来获取对象中记录的数据作为关联数组。因为mysqli_fetch_assoc()函数一次只能取一条数据,所以是顺序取的。因此,可以将mysqli_fetch_assoc()函数作为条件,当执行成功时,会依次打印得到的关联数组信息。具体代码如下:
上述代码的执行结果如下:
2.4.4 面向对象代码3:将连接方式改为面向对象
代码1和2中面向对象的连接方式与面向过程的方式的主要区别在于连接过程、判断过程和断开过程的区别。数据访问和使用的过程基本相同。
connect_error)
{echo $mysqli->connect_error;}
$sql = "select * from users";
if ($results = mysqli_query($link,$sql)){ //mysqli_query函数执行失败时返回 false,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回true。
while ($result = mysqli_fetch_assoc($results)){ //使用mysqli_fetch_assoc函数获取返回对象中的具体数据。
var_dump($result);
echo "";
}
}
else{
die(mysqli_error($link));
}
$link->close();
?>
3 相关函数介绍3.1 数据库连接操作相关函数函数名
新的 mysqli(), mysqli_connect()
连接到指定的数据库
$mysqli->connect_errno, mysqli_connect_errno()
返回最后一次连接调用的错误代码
$mysqli->connect_error, mysqli_connect_error()
返回描述上次连接调用的错误代码的字符串
link->close(), mysqliclose(link->close(), mysqli_close(link->close(), mysqliclose(link)
断开连接,其中 $link 表示已建立的连接。
3.2 运算结果集对象相关函数function
mysqli_fetch_row()
通过索引数组获取记录的数据
mysqli_fetch_assoc()
以关联数组的形式获取记录的数据
mysqli_fetch_array()
获取记录的数据作为索引数组或关联数组
mysqli_fetch_all()
以索引数组或关联数组的形式获取所有记录的数据
mysqli_num_rows()
获取结果中的行数
mysqli_free_result()
释放与结果集关联的内存
3.还有 3 个命令
更多命令请参考官方手册《MySQL 增强扩展》。
4 感应
(1)掌握phpstudy中通过myadmin操作数据库的方法;
(2)使用PHP语句与MySQL交互;
(3)掌握数据库连接和操作结果集对象的常用命令;
(4)学习参考官方手册《MySQL 增强版扩展》。
参考文章
[1]《【PHP基础篇】实现PHP与SQL数据库的连接》