搜索
首页后端开发php教程十分钟利用PHP+Mysql实现增删改查(实例详解)

本篇文章给大家带来了关于PHP怎样利用mysql实现增删改查功能的实例,希望对大家有帮助。

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

PHP+Mysql实现增删改查

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

MySQL 是一种在 Web 上使用,在服务器上运行的数据库系统;MySQL 是非常快速,可靠,且易于使用的,支持标准的 SQL。

Mysql语句

打开我们的wampserver服务器+Mysql可视化工具(这里我用Navicat),或则其它集成工具(Apache+PHP+Mysql)都可以。链接上我们的服务器
这是wampserver的用户名和密码
新建一个数据库
我们新建查询来操作数据库,先把基本的文件配置好
学生

插入一条信息

INSERT INTO 语法

  1. 需指定要插入数据的列名,只需提供被插入的值即可
INSERT INTO table_name VALUES (value1,value2,value3,...);
  1. 需要指定列名及被插入的值
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

不指定列名向表格插入一条数据

INSERT INTO stu VALUES (null,'提莫', 1,30);

我们用第二种语法向表格插入一条数据

INSERT INTO stu (name, gender, age) VALUES ('Faker', 0,24);

成功

查询语句

SQL SELECT 语句

SELECT column_name,column_name FROM table_name;
SELECT * FROM table_name;

查询id一列

select id from stu;

查询当id为1的语句

select * from stu where id = 1;

因为id是唯一的,所以找到了该条数据则不用再继续

select * from stu where id = 1 limit 1;
修改语句

SQL UPDATE 语句 需要加上where语句,否则整个表格都会更新

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;

修改名字当id为1的时候

update stu set name='the shy' where id=1;
删除语句

SQL DELETE 语法 WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

DELETE FROM table_name WHERE some_column=some_value;

删除id为2的该条学生信息

delete from stu where id = 2;

使用PHP操作Mysql

如何链接数据库
header("Content-Type:text/html;charset=utf-8");
// 1. 使用mysqli链接数据库(这里使用wampserver默认的)
$connection = mysqli_connect('127.0.0.1', 'root', '', 'students');
// 2. 解决识别不了数据库文件的中文
mysqli_query($connection,"set names 'utf8';");
if (!$connection) {
    // 连接数据库失败
    exit('<h1>连接数据库失败</h1>');
}
// 每次只能查询一条数据
$query = mysqli_query($connection, 'select * from stu;');
// 查询所有的数据
while ($row = mysqli_fetch_assoc($query)) {
    var_dump($row);
}
查询数据库渲染主页面(index.php)
  1. 采用混编的方法,在头部链接数据库
<?php
// 1.链接我们的数据库
$link = mysqli_connect(&#39;127.0.0.1&#39;, &#39;root&#39;, &#39;&#39;, &#39;students&#39;);
// 2.设置中文编码
mysqli_query($link,"set names &#39;utf8&#39;;");
// 3.检测链接
if ($link->connect_error) {
    die("连接失败: " . $link->connect_error);
}
// 4.查询数据
$query = mysqli_query($link, 'select * from stu;');
// 5.渲染数据
?>
  1. 引入bootstrap@4(bootstrap官网下载并引入bootstrap.css)
<link rel="stylesheet" href="./lib/bootstrap.css">
  1. 使用mysqli_fetch_assoc($query)渲染数据,因为后续需要添加(add.php),删除(del.php),修改(edit)操作所以这里先添加
<p class="container">
    <h1 class="text-center">首页</h1>
    <table class="table table-bordered">
        <thead>
        <tr>
            <th class="text-center">学号</th>
            <th class="text-center">姓名</th>
            <th class="text-center">性别</th>
            <th class="text-center">年龄</th>
            <th class="text-center">操作</th>
        </tr>
        </thead>
        <tbody>
        <?php while ($row = mysqli_fetch_assoc($query)): ?>
        <tr class="text-center">
            <td><?php echo $row[&#39;id&#39;]; ?></td>
            <td><?php echo $row[&#39;name&#39;]; ?></td>
            <td><?php echo $row[&#39;gender&#39;]==1?&#39;♀&#39; : &#39;♂&#39; ; ?></td>
            <td><?php echo $row[&#39;age&#39;]; ?></td>
            <td>
                <a href="del.php?id=<?php echo $row[&#39;id&#39;];?>" class="btn btn-primary">删除</a>
                <a href="edit_get.php?id=<?php echo $row[&#39;id&#39;];?>" class="btn btn-danger">修改</a>
            </td>
        </tr>
        <?php endwhile;?>
        </tbody>
    </table>
    <a class="btn btn-primary btn-block" href="add.php">添加学生信息</a></p>

结果显示

添加一条数据(add.php)
  1. 我们依旧使用混编的模式,表单数据提交到本页面,使用$_SERVER['PHP_SELF']使得代码鲁棒性更强
  2. 使用post提交数据,记得在页面提示信息错误
  3. 在头部链接数据库,插入一条数据
<?php// 1. 判断是否是post提交// 2. 处理表单传递过来的数据(不能为空!empty;这里我就先不做处理了)// 3. 连接数据库并插入一条数据// 4. 开始查询(insert into)// 5. 判断是否查询成功// 6. 判断是否插入成功`mysqli_affected_rows()`// 7. 重定向function add_user(){
    $name = $_POST[&#39;name&#39;];
    $age = $_POST[&#39;age&#39;];
    $gender = $_POST[&#39;gender&#39;];
    $link = mysqli_connect(&#39;127.0.0.1&#39;, &#39;root&#39;, &#39;&#39;, &#39;students&#39;);
    mysqli_query($link,"set names &#39;utf8&#39;;");
    if(!link){
        $GLOBALS[&#39;msg&#39;] = &#39;连接数据库失败&#39;;
        return;
    }
    $query = mysqli_query($link,"INSERT INTO stu (name, gender, age) VALUES (&#39;{$name}&#39;,{$gender},{$age});");
    if (!$query) {
        $GLOBALS[&#39;msg&#39;] = &#39;查询过程失败&#39;;
        return;
    }
    $affected = mysqli_affected_rows($link);
    if($affected!==1){
        $GLOBALS[&#39;error_message&#39;] = &#39;添加数据失败&#39;;
        return;
    }
    header(&#39;Location:index.php&#39;);}if($_SERVER[&#39;REQUEST_METHOD&#39;]===&#39;POST&#39;){
    add_user();}?>
  1. 界面
<p class="container add">
    <h4 class="alert alert-primary text-center">添加学生信息</h4>
    <form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;]; ?>">
        <p class="form-group row">
            <label for="name" class="col-sm-2 col-form-label">姓名</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" name="name" id="name">
            </p>
        </p>
        <p class="form-group row">
            <label for="gender" class="col-sm-2 col-form-label">性别</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" id="gender" name="gender">
            </p>
        </p>
        <p class="form-group row">
            <label for="age" class="col-sm-2 col-form-label">年龄</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" id="age" name="age">
            </p>
        </p>
        <!--这里添加提示-->
        <?php if(!empty($GLOBALS[&#39;msg&#39;])): ?>
        <p class="alert alert-warning" role="alert">
            <?php echo $GLOBALS[&#39;msg&#39;]; ?>
        </p>
        <?php endif ?>
        <button type="submit" class="btn btn-primary btn-block">保存</button>
    </form></p>
  1. 点击添加学生信息,跳转到add.php
    add.php
删除一条数据(del.php)
  1. 我们已经在主页面已经写好了,并传入了id
  2. 我们根据传入的id使用sql语句进行删除即可
  3. 删除完成重定向
<?php// 1. 接收传递过来的id
    if(empty($_GET['id'])){
        exit('<h1>连接数据库失败</h1>');
    }
    $id = $_GET['id'];// 2. 连接数据库
    $link = mysqli_connect('127.0.0.1', 'root', '', 'students');
    mysqli_query($link,"set names 'utf8';");// 3. 删除该条数据
    $query = mysqli_query($link,"delete from stu where id = {$id}");// 4. 查询失败的处理
    if (!$query) {
        exit('<h1>查询数据失败</h1>');
    }// 5. 受影响的行数
    $affected_rows = mysqli_affected_rows($link);// 6. 删除失败
    if ($affected_rows <= 0) {
        exit('<h1>删除失败</h1>');
    }
    header('Location: index.php');?>
修改操作
  1. 接收index.php传过来的id,然后根据id查询数据(id是唯一的)
  2. 将数据渲染到界面上
  3. 通过id链接数据库查询该条数据
    if(empty($_GET['id'])){
        exit('<h1>必须传入指定参数</h1>');
        return;
    }
    $id = $_GET['id'];
    $link = mysqli_connect('127.0.0.1', 'root', '', 'students');
    mysqli_query($link,"set names 'utf8';");
    if(!$link){
        exit('<h1>连接数据库失败</h1>');
    }
    $query = mysqli_query($link,"select * from stu where id = {$id} limit 1");
    if(!$query){
        exit('<h1>查询数据失败</h1>');
    }
    $user = mysqli_fetch_assoc($query);
    if(!$user){
        exit('<h1>找不到你要编辑的数据</h1>');
    }
  1. 界面数据渲染
<p class="container edit">
    <h4 class="alert alert-primary text-center">添加学生信息</h4>
    <form method="post" action="edit_post.php">
        <p class="form-group row">
            <label for="name" class="col-sm-2 col-form-label">id</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" name="id" id="name" value="<?php echo $user[&#39;id&#39;]; ?>">
            </p>
        </p>
        <p class="form-group row">
            <label for="name" class="col-sm-2 col-form-label">姓名</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" name="name" id="name" value="<?php echo $user[&#39;name&#39;]; ?>">
            </p>
        </p>
        <p class="form-group row">
            <label for="gender" class="col-sm-2 col-form-label">性别</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" id="gender" name="gender" value="<?php echo $user[&#39;gender&#39;]; ?>">
            </p>
        </p>
        <p class="form-group row">
            <label for="age" class="col-sm-2 col-form-label">年龄</label>
            <p class="col-sm-10">
                <input type="text" class="form-control" id="age" name="age" value="<?php echo $user[&#39;age&#39;]; ?>">
            </p>
        </p>
        <button type="submit" class="btn btn-primary btn-block">保存</button>
    </form></p>
  1. 结果(生产环境中id是要隐藏的)
    数据渲染
  2. post提交数据,根据id修改数据
<?php
var_dump($_POST);
$id = $_POST["id"];
$name = $_POST['name'];
$age = $_POST['age'];
$gender = $_POST['gender'];
$link = mysqli_connect('127.0.0.1', 'root', '', 'students');
mysqli_query($link,"set names 'utf8';");
if(!$link){
    exit('<h1>连接数据库失败</h1>');
}
//$query = mysqli_query($link,"update stu set name={$name},age={$age},gender={$gender} where id = {$id};");
var_dump("UPDATE stu SET gender={$gender},age={$age},name='{$name}' WHERE id={$id}");
$query = mysqli_query($link,"UPDATE stu SET gender={$gender},age={$age},name='{$name}' WHERE id={$id}");
if (!$query) {
    exit('<h1>查询数据失败</h1>');
}
$affected = mysqli_affected_rows($link);
if($affected!==1){
    exit('<h1>找不到你要编辑的数据</h1>');
}
header('Location:index.php');
?>

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上是十分钟利用PHP+Mysql实现增删改查(实例详解)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),