前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库: PHP使用PDO连接数据库实现增 删 改 查 操作

数据库: PHP使用PDO连接数据库实现增 删 改 查 操作

作者头像
杨奉武
发布2020-01-16 17:14:45
1.4K0
发布2020-01-16 17:14:45
举报
文章被收录于专栏:知识分享知识分享

准备好测试的数据库

  IP: 47.92.31.46

  用户名: yang

  密码:    11223344.

  数据库名字 :  databasetest

  表格:  userinfo

  这是我云端电脑安装的数据库,大家都可以连接测试

  我设置了权限,只可以增删改查数据

配置PHP增加数据库插件

  PHP属于网页/网站的范畴,用PHP可以实现http通信

  现在大部分网页的登录注册都是用PHP来实现的

  PHP接收到用户的http数据信息,插入数据库

  PHP添加数据库插件

https://cloud.tencent.com/developer/article/1535213

API使用

https://dev.mysql.com/doc/apis-php/en/apis-php-mysqlinfo.html

说明

  咱用浏览器访问PHP文件实现对数据库的操作

  1.浏览器访问的是我网站根目录的这个文件

代码语言:javascript
复制
<?php

//http://47.92.31.46/PHPPDOtest.php?username=yang&password=11223344

$servername = "47.92.31.46";
$username = "yang";
$password = "11223344.";//根据自己的修改
$dbname = "databasetest";//链接的数据库名字
$TableName = "userinfo";//链接的表格的名字
try 
{
    $Loginusername = $_GET["username"];//用户提交的用户名
    $Loginpassword  = $_GET["password"];//用户提交的密码
    
    try {
        $conn = new PDO("mysql:host=$servername;port=3306;dbname=$dbname", $username, $password);//链接数据库
        //echo "PDO的API连接成功"; 
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 设置 PDO 错误模式为异常 

        //编写操作数据库的程序

        $conn=null;//关闭
    }
    catch(PDOException $e){
        //echo $e->getMessage();
        echo "errorCode:DataBase";//返回
    }
}
catch(PDOException $e)
{
    //echo $e->getMessage();
    echo "errorCode:ReadData";//返回
}
代码语言:javascript
复制
http://47.92.31.46/PHPPDOtest.php?username=yang&password=11223344

这是浏览器输入的后面是用户名和密码

代码语言:javascript
复制
    $Loginusername = $_GET["username"];//用户提交的用户名
    $Loginpassword  = $_GET["password"];//用户提交的密码

这个用来获取http过来的数据

插入数据(第一种)

一,插入数据,id是1,用户名是yang 密码是11223344

  浏览器输入 http://47.92.31.46/PHPPDOtest.php?username=yang&password=11223344

  $sql = "insert into userinfo "." values(1,"."'".$Loginusername."'".","."'".$Loginpassword."'".")";

  insert into userinfo : 插入数据到 userinfo 表格 

  1 :id的值,自动递增

  yang : 用户名

  11223344 :密码

  注:一般插入字符串型数据需要在数据两边加   '    '

  也就是  '数据'

代码语言:javascript
复制
<?php

//http://47.92.31.46/PHPPDOtest.php?username=yang&password=11223344

$servername = "47.92.31.46";
$username = "yang";
$password = "11223344.";//根据自己的修改
$dbname = "databasetest";//链接的数据库名字
$TableName = "userinfo";//链接的表格的名字
try 
{
    $Loginusername = $_GET["username"];//用户提交的用户名
    $Loginpassword  = $_GET["password"];//用户提交的密码
    
    try {
        $conn = new PDO("mysql:host=$servername;port=3306;dbname=$dbname", $username, $password);//链接数据库
        //echo "PDO的API连接成功"; 
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 设置 PDO 错误模式为异常 

        //
        $sql = "insert into userinfo "." values(1,"."'".$Loginusername."'".","."'".$Loginpassword."'".")";
        $count  =  $conn->exec($sql); //返回受影响的行数
        if ($count !=0){//插入数据成功
            echo "OK";
        }else{
            echo "errorCode:DataBase";
        }
        $conn=null;//关闭
    }
    catch(PDOException $e){
        //echo $e->getMessage();
        echo "errorCode:DataBase";//返回
    }
}
catch(PDOException $e)
{
    //echo $e->getMessage();
    echo "errorCode:ReadData";//返回
}

运行测试

代码语言:javascript
复制
  http://47.92.31.46/PHPPDOtest.php?username=yang&password=11223344

插入数据(第二种)

代码语言:javascript
复制
$sql = "insert into userinfo "." values(NULL,"."'".$Loginusername."'".","."'".$Loginpassword."'".")";

 和上面相比 value(NULL.....)

设置第一个字段是空,意思是不填写第一个字段(默认就会自动递增)

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=00000000

总结上两种插入数据方式

  values里面的值依次填到表格中,如果数据不够,后面的就不插入数据

插入数据(第三种)

代码语言:javascript
复制
$sql = "insert into userinfo(username,password)"." values("."'".$Loginusername."'".","."'".$Loginpassword."'".")";
代码语言:javascript
复制
(username,password) 后面的values里面的数据对应插到哪个字段里面
代码语言:javascript
复制

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=11111111

代码语言:javascript
复制

删除数据

代码语言:javascript
复制
$sql = "delete from userinfo "." where "."username = "."'".$Loginusername ."'";

如果浏览器输入: http://47.92.31.46/PHPPDOtest.php?username=yang&password=11111111

删除 userinfo表格中 username字段中是 yang的数据

意思就是删除,下面这条数据

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yang&password=11111111

代码语言:javascript
复制
$sql = "delete from userinfo "." where "."username = "."'".$Loginusername ."'"." and "."password ="."'".$Loginpassword."'";

如果浏览器输入: http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=00000000

删除 userinfo表格中 username字段中是 yangyang,同时password字段中是 00000000 的数据

其实就是删除这个

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=00000000

修改数据

代码语言:javascript
复制
$sql = "update userinfo set password="."'".$Loginpassword."'" ."where username="."'".$Loginusername."'";

 如果浏览器输入: http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

 找到userinfo表格中username字段值是yangyang的

然后把 password字段的值修改为 888888

其实就是把11111111修改为888888

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

当然也可以直接设置

代码语言:javascript
复制
$sql = "update userinfo set password="."'".$Loginpassword."'";

查询数据

代码语言:javascript
复制
        $sql = "select *from userinfo";//查询表格中的所有数据
        $result = $conn->query($sql);//发送SQL语句并接收数据库返回

        if ($result && $result->rowCount()) {//查询到数据
            while($row = $result->fetch()) {//循环读出数据
                echo $row['username'].$row['password'];//打印数据
            }
        }

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

注意:和输入的没有关系,咱浏览器输入只是让PHPPDOtest.php 运行一下

 为直观看到下面的测试增加一个用户名和密码

代码语言:javascript
复制
查询表格中的所有username字段的值
代码语言:javascript
复制
        $sql = "select username from userinfo";//查询表格中的所有username字段的值

        $result = $conn->query($sql);//发送SQL语句并接收数据库返回

        if ($result && $result->rowCount()) {//查询到数据
            while($row = $result->fetch()) {//循环读出数据
                echo $row['username'];//打印数据
            }
        }
代码语言:javascript
复制

 运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

注意:和输入的没有关系,咱浏览器输入只是让PHPPDOtest.php 运行一下

代码语言:javascript
复制
查询表格中的密码是666666的用户名
代码语言:javascript
复制
        $sql = "select username from userinfo where password = 666666";//查询表格中的密码是666666的用户名

        $result = $conn->query($sql);//发送SQL语句并接收数据库返回

        if ($result && $result->rowCount()) {//查询到数据
            while($row = $result->fetch()) {//循环读出数据
                echo $row['username'];//打印数据
            }
        }

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

注意:和输入的没有关系,咱浏览器输入只是让PHPPDOtest.php 运行一下

代码语言:javascript
复制
//查询表格中password是666666的所有数据
代码语言:javascript
复制
        $sql = "select *from userinfo where password = 666666";//查询表格中password是666666的所有用户信息

        $result = $conn->query($sql);//发送SQL语句并接收数据库返回

        if ($result && $result->rowCount()) {//查询到数据
            while($row = $result->fetch()) {//循环读出数据
                echo $row['id'].$row['username'];//打印数据
            }
        }

运行测试

http://47.92.31.46/PHPPDOtest.php?username=yangyang&password=888888

注意:和输入的没有关系,咱浏览器输入只是让PHPPDOtest.php 运行一下

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备好测试的数据库
  • 配置PHP增加数据库插件
  • API使用
  • 说明
  • 插入数据(第一种)
  • 插入数据(第二种)
  • 总结上两种插入数据方式
  • 插入数据(第三种)
  • 删除数据
  • 修改数据
  • 查询数据
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档