有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享
路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。
编辑
1 PHP操作MySQL数据库的方法
PHP操作数据库现在用的多的是mysqli拓展库,mysqli扩展库和mysql扩展库的应用类似,而且大部分函数的使用方法都一样,唯一的区别就是mysqli扩展库中的函数名称都是以mysqli开头的。
1.1 安装并连接MySQL服务器
首先要在本地安装了MySQL数据库,你可以直接进入MySQL官方地址去下载。
编辑
找到这个地方下载即可,下载傻瓜式安装即可。
编辑 接下来使用开源软件连接mysql,我用的是navicat。
编辑
编辑 接下来用PHP尝试连接一下MySQL数据库。
//mysqli_connect 函数实现与MySQL数据库的连接。 $link = mysqli_connect('localhost','root','passwd'); if($link) { echo "连接MySQL数据库成功!"; } else{ echo "未连接!"; }
编辑
1.2 选择MySQL数据库连接
首先我们安装好MySQL后,在MySQL服务器里会有一个默认的world数据库,我们利用它来做测试。连接数据库有两种方式,一种是直接mysqli_connect()函数里配置一个数据库名,另一种是利用msqli_select_db()函数选择数据库。
第一种:(返回布尔型结果)
$dbName = 'world'; $link = mysqli_connect('localhost','root','passwd',$dbName); if($link) { echo "连接".$dbName."数据库成功!"; } else{ echo $dbName."未连接!"; }
编辑
第二种:(返回布尔型结果)
$dbName = 'world'; $link = mysqli_connect('localhost','root','passwd'); if(mysqli_select_db($link,$dbName)) { echo "连接".$dbName."数据库成功!"; } else{ echo $dbName."未连接!"; }
1.3 执行SQL语句
执行sql语句的函数是mysqli_query(),其语法如下:
mixed mysqli_query(mysqli $link, string $query [, int $resultmode]) /** 参数介绍: $link 必选参数,mysqli_connect()函数连接Mysql数据库服务器成功后的连接标识。 $query必选参数,sql语句。 $resultMode,可选参数,默认值为MYSQL_STORE_RESULT。如果返回大量数据可以应用 MYSQL_USE_RESULT,但应用该值时,以后的查询可能会返回一个commands out of sync错误,解决办法是应用mysqli_free_result()函数释放内存。 */
如果SQL语句是查询指令select,成功则返回查询结果集,否则返回false;如果SQL语句是insert、delete、update等操作指令,成功返回true,否则返回false。
在db_test数据库里创建一个表books,sql语句如下:
DROP TABLE IF EXISTS `books`; CREATE TABLE `books`( `id` int(8) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `category` varchar(50) NOT NULL, `price` decimal(10,2) DEFAULT NULL, `publish_time` date DEFAULT NULL, PRIMARY KEY (`id`) )ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
编辑
1.3.1 执行插入语句:
$dbName = 'db_test'; $link = mysqli_connect('localhost','root','passwd'); if(mysqli_select_db($link,$dbName)) { echo "连接".$dbName."数据库成功!<br>"; $result = mysqli_query($link,"insert into books values('1','php基础','跟着路老师学习PHP高级','10.0','2024-07-07')"); if($result){ echo "插入成功!"; } else { echo "插入失败!"; } } else{ echo $dbName."未连接!"; }
编辑
查看数据库数据:
编辑 1.3.2 执行更新操作
$dbName = 'db_test'; $link = mysqli_connect('localhost','root','passwd'); if(mysqli_select_db($link,$dbName)) { echo "连接".$dbName."数据库成功!<br>"; $result = mysqli_query($link,"update books set name='java开发',price='33.00' where id='2'"); if($result){ echo "更新成功!"; } else { echo "更新失败!"; } } else{ echo $dbName."未连接!"; }
编辑
数据库中的数据变化:
编辑 1.3.3 执行删除操作
$dbName = 'db_test'; $link = mysqli_connect('localhost','root','passwd'); if(mysqli_select_db($link,$dbName)) { echo "连接".$dbName."数据库成功!<br>"; $result = mysqli_query($link,"delete from books where name='3php基础3'"); if($result){ echo "删除成功!"; } else { echo "删除失败!"; } } else{ echo $dbName."未连接!"; }
编辑
数据库中数据变换:(第三条数据已经被删除)
编辑
1.3.4 执行查询操作
$dbName = 'db_test'; $link = mysqli_connect('localhost','root','passwd'); if(mysqli_select_db($link,$dbName)) { echo "连接".$dbName."数据库成功!<br>"; $result = mysqli_query($link,"select * from books"); // 检查结果 if ($result->num_rows > 0) { // 输出每行数据 while($row = $result->fetch_assoc()) { echo $row["id"]. "--" . $row["name"]. "--" . $row["category"]. "--" . $row["price"]."--". $row["publish_time"]."<br>"; } } else { echo "0 结果"; } } else{ echo $dbName."未连接!"; }
编辑
1.4 将结果集返回到数组
使用mysqli_query()函数执行select语句返回结果集合的遍历是稍微复杂一些,结果集展示的函数除了1.3.4中的fetch_assoc()以外还有一个mysqli_fetch_array()函数,它将结果集返回到数组中。
创建lists.html文件,并在里面实现php内嵌语句。
<div class="container"> <div class="col-sm-offset-2 col-sm-8"> <div class="panel panel-default"> <div class="panel-heading"> 图书列表 </div> <div class="panel-body"> <table class="table table-striped task-table"> <thead> <tr> <th>ID</th> <th>图书名称</th> <th>分类</th> <th>价格</th> <th>出版日期</th> <th>操作</th> </tr> </thead> <tbody> while($rows = mysqli_fetch_array($result,MYSQLI_ASSOC)){ <tr> <td class="table-text"> echo $rows['id'] </td> <td class="table-text"> echo $rows['name'] </td> <td class="table-text"> echo $rows['category'] </td> <td class="table-text"> echo $rows['price'] </td> <td class="table-text"> echo $rows['publish_time'] </td> <td> <a href="editBook.php?id= echo $rows['id'] "> <button class="btn btn-info edit">编辑</button> </a> <a href="deleteBook.php?id= echo $rows['id'] "> <button class="btn btn-danger delete">删除</button> </a> </td> </tr> } </tbody> </table> </div> </div> </div> </div>
编辑
下篇 PHP 从结果集合中获取对象、枚举数组、记录数、释放内存、关闭连接