PHP+Mysql 实现数据库增删改查(实例详解)

原创 pcp44  2022-10-11 01:09:11  阅读 1335 次 评论 6 条
摘要:

近期搞微信小程序,云开发数据居然收费了,无奈只能自搞PHP后台,只能一步步学习PHP操作SQL数据库。以下内容主要参考自 PHP+Mysql 实现数据库增删改查(原生),但是原文的SQL函数太老,已经不被PHP7.0以上版本支持,所以更新了SQL相关函数,如:mysql_select_db(数据库名)改为mysqli_select_db($conneciton, 数据库名 ),mysql_query(sql语句)改为mysqli_query($connection, sql语句),mysql_n

近期搞微信小程序,云开发数据居然收费了,无奈只能自搞PHP后台,只能一步步学习PHP操作SQL数据库。以下内容主要参考自 PHP+Mysql 实现数据库增删改查(原生),但是原文的SQL函数太老,已经不被PHP7.0以上版本支持,所以更新了SQL相关函数,如:mysql_select_db(数据库名)改为mysqli_select_db($conneciton, 数据库名 ),mysql_query(sql语句)改为mysqli_query($connection, sql语句),mysql_num_rows($result) 改为 mysqli_num_rows($result) 等等


1.创建Mysql数据库

创建一个新闻列表的数据库:(具体数据库环境的安装,PHP环境的安装,需另外找教程学习。如小皮面板(phpstudy) - 让天下没有难配的服务器环境! (xp.cn)

注意数据库的名称是sqlnews,数据表是mynews,表里面的字段分别是id,title,keywords,autor,addtime,content。这些都不能错,如果改成其他的名称字段了,后面的代码中也要同步改。

b548a7ad821757dbfbbdc2645a1d1a5.png

如果懒得录入,就先建立一个名称为sqlnews的数据库,然后导入即可。

2. 查询数据库

2.1 创建文件dbconfig.php,保存常量

PHP
<?php  	define("HOST","localhost");  	define("USER","root");   //访问数据库的账号	define("PASS","root");   //访问数据库的密码	define("DBNAME","sqlnews");  //数据库名称	$conn = mysqli_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");	// 选择数据库	mysqli_select_db($conn,DBNAME);	// 编码设置	mysqli_set_charset($conn,'utf8');?>

2.2 创建主文件index.php(连接数据库、查询数据)

PHP
<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>新闻后台管理系统</title></head><style type="text/css">.wrapper {width: 1000px;margin: 20px auto;}h2 {text-align: center;}.add {margin-bottom: 20px;}.add a {text-decoration: none;color: #fff;background-color: green;padding: 6px;border-radius: 5px;}td {text-align: center;}</style><body>    <div class="wrapper">        <h2>新闻后台管理系统</h2>        <div class="add">            <a href="addnews.html">增加新闻</a>        </div>        <table width="960" border="1">            <tr>                <th>ID</th>                <th>标题</th>                <th>关键字</th>                <th>作者</th>                <th>发布时间</th>                <th>内容</th>                <th>操作</th>            </tr>            <?php                // 1.导入配置文件                require "dbconfig.php";                // 2. 连接mysql                // 3. 从DBNAME中查询到my_news数据库,返回数据库结果集,并按照addtime降序排列                  $sql = 'select * from my_news order by id asc';                // 结果集                $result = mysqli_query($conn,$sql);                // var_dump($result);die;				//防止空数据时,报错				if (!$result) {					printf("Error: %s\n", mysqli_error($conn));					exit();					}                // 解析结果集,$row为新闻所有数据,$newsNum为新闻数目                $newsNum=mysqli_num_rows($result);                  for($i=0; $i<$newsNum; $i++){                    $row = mysqli_fetch_assoc($result);                    echo "<tr>";                    echo "<td>{$row['id']}</td>";                    echo "<td>{$row['title']}</td>";                    echo "<td>{$row['keywords']}</td>";                    echo "<td>{$row['autor']}</td>";                    echo "<td>{$row['addtime']}</td>";                    echo "<td>{$row['content']}</td>";                    echo "<td>                            <a href='javascript:del({$row['id']})'>删除</a>                            <a href='editnews.php?id={$row['id']}'>修改</a>                          </td>";                    echo "</tr>";                }                // 5. 释放结果集                mysqli_free_result($result);                mysqli_close($conn);            ?>        </table>    </div>        <script type="text/javascript">        function del (id) {            if (confirm("确定删除这条新闻吗?")){                window.location = "action-del.php?id="+id;            }        }    </script></body></html>

页面如图:
1665420263239.png

3. 增加新闻

3.1 点击增加按钮,通过页面addnews.html添加数据

PHP
<!DOCTYPE html>  <link rel="stylesheet" href="./bootstrap/css/bootstrap.css"><html>  <head>      <meta charset="UTF-8">      <title>添加新闻</title>  </head><style type="text/css">    form{        width: 300px;margin: 20px auto;    }</style><body><p><h2>添加新闻</h2><form action="action-addnews.php" method="post">     <p > <label>标题:</label><input type="text" name="title">      <label>关键字:</label><input type="text" name="keywords">      <label>作者:</label><input type="text" name="autor">      <label>发布时间:</label><input type="date" name="addtime">      <label>内容:</label><textarea type="text"  name="content"> </textarea>    <br><input type="submit" value="提交">  <input type="button"  value="返回" onclick="javascript:window.location.href='index.php'"/></p></form>  </p></body>  </html>

3.2 创建处理增加新闻的服务端文件action-addnews.php

PHP
<?php// 处理增加操作的页面 require "dbconfig.php";// 获取增加的新闻$title = $_POST['title'];$keywords = $_POST['keywords'];$autor = $_POST['autor'];$addtime = $_POST['addtime'];$content = $_POST['content'];// 插入数据mysqli_query($conn,"INSERT INTO my_news(title,keywords,autor,addtime,content) VALUES ('$title','$keywords','$autor','$addtime','$content')") or die('添加数据出错:'.mysqli_error($conn)); header("Location:index.php");  ?>

4. 删除新闻

4.1点击删除按钮,通过服务端文件action-del.php进行删除处理

PHP
<?php// 处理删除操作的页面 require "dbconfig.php";$id = $_GET['id'];//删除指定数据  mysqli_query($conn,"DELETE FROM my_news WHERE id={$id}") or die('删除数据出错:'.mysqli_error($conn)); // 删除完跳转到新闻页header("Location:index.php");  ?>

5. 修改新闻

5.1 点击修改按钮,跳转到文件editnews.php进行修改处理

PHP
<!DOCTYPE html><link rel="stylesheet" href="./bootstrap/css/bootstrap.css"><html><head>    <meta charset="UTF-8">    <title>修改新闻</title></head><style type="text/css">    form{        width: 400px;margin: 20px auto;    }</style><body><?php    require "dbconfig.php";        $id = $_GET['id'];    $sql = mysqli_query($conn,"SELECT * FROM my_news WHERE id=$id");    $sql_arr = mysqli_fetch_assoc($sql); ?><p class="container"><form action="action-editnews.php" method="post">    <label>新闻ID: </label><input type="text" name="id" value="<?php echo $sql_arr['id']?>">    <label>标题:</label><input type="text" name="title" value="<?php echo $sql_arr['title']?>">    <label>关键字:</label><input type="text" name="keywords" value="<?php echo $sql_arr['keywords']?>">    <label>作者:</label><input type="text" name="autor" value="<?php echo $sql_arr['autor']?>">    <label>发布时间:</label><input type="date" name="addtime" value="<?php echo $sql_arr['addtime']?>">    <label>内容:</label><textarea  name="content" > <?php echo $sql_arr['content']?> </textarea>   <br><input type="submit" value="提交">   <input type="button"  class="blue_btn" value="返回" onclick="javascript:window.location.href='index.php'"/></form></p></body></html>

5.2 通过服务端文件action-editnews.php进行修改处理

PHP
<?php	// 处理编辑操作的页面 	require "dbconfig.php";	// 获取修改的新闻	$id = $_POST['id'];	$title = $_POST['title'];	$keywords = $_POST['keywords'];	$autor = $_POST['autor'];	$addtime = $_POST['addtime'];	$content = $_POST['content'];	// 更新数据	mysqli_query($conn,"UPDATE my_news SET title='$title',keywords='$keywords',autor='$autor',addtime='$addtime',content='$content' WHERE id=$id") or die('修改数据出错:'.mysqli_error($conn)); 	header("Location:index.php");  ?>

代码源码下载:

此处为隐藏内容,请评论后查看隐藏内容,谢谢!

参考引用:

1.PHP+Mysql 实现数据库增删改查(原生) - 郑不乖i - 博客园 (cnblogs.com)

2.十分钟利用PHP+Mysql实现增删改查(实例详解) (gxlsystem.com)

本文地址:https://b.gx86.cn/?id=76
版权声明:本文为原创文章,版权归 pcp44 所有,欢迎分享本文,转载请保留出处!如有侵权,请留言或邮件告知,万分感谢。

发表评论


表情

提示:滑动解锁才能发表评论

评论列表

  1. 访客
    访客  @回复

    很好

  2. 访客
    访客  @回复

    想要源代码

  3. 访客
    访客  @回复

    face_01

  4. 访客
    访客  @回复

    666

  5. qiaomeng
    qiaomeng  @回复

    群晖中不知道好弄不

  6. math98
    math98  @回复

    如果改成其他的名称字段了,后面的代码中也要同步改