博主信息
博文 29
粉丝 0
评论 0
访问量 24623
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
CURD语句基本语法,PDP操作数据库-2019年7月24日
blog
原创
1186人浏览过

一.CURD语句基本语法

增: INSERT  INTO  `表名` (1字段1`,`字段2`......) VALUES("值1","值2"......);

删: DELETE  FROM  `表名` WHERE 条件

改: UPDATE  `表名`  SET `字段1`="值1",`字段2`="值2"...  WHERE 条件

查: SELECT  `字段列表`  FROM `表名` WHERE 条件

二.PDO操作数据库

PDO操作数据库大概可分为6步骤

  1. 连接数据库

  2. 创建sql语句模板

  3. 创建sql语句对象-预处理对象

  4. 为sql语句模板中的变量赋值

  5. 执行sql语句

  6. 关闭连接

数据库连接部分

实例

<?php
$db=require 'database.php';
$dsn="{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
$username="{$db['username']}";
$password="{$db['password']}";
try{

    $pdo=new PDO($dsn,$username,$password);

}catch (PDOException $e){
    die("连接失败".$e->getMessage());
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php

return [
    'type' => 'mysql',
    'host' => '127.0.0.1',
    'dbname' => 'php',
    'username' => 'root',
    'password' => 'root'
];

运行实例 »

点击 "运行实例" 按钮查看在线实例

1)insert 

实例

<?php
//1.连接数据库
require __DIR__."/connect.php";
//2.创建sql语句模板
$sql='INSERT INTO `category` SET `name`=:name,`alias`=:alias';
//3.创建sql语句对象:预处理对象
$stmt=$pdo->prepare($sql);
//4.为sql语句模板中的变量赋值
$name='zn';
$alias='宅男福利';
$stmt->bindParam(':name',$name,PDO::PARAM_STR);
$stmt->bindParam(':alias',$alias,PDO::PARAM_STR);
//5.执行sql语句
if($stmt->execute()){
    //$stmt->rowCount返回受影响的行数
    if($stmt->rowCount()>0){
        echo '成功的添加' . $stmt->rowCount(). '条记录, 主键:'. $pdo->lastInsertId();
    }
}else{
    dir("<pre>".print_r($stmt->errorInfo(),true));
}
//关闭连接
$pdo=null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

1.png

我们查看数据库

1.png

2)delete

实例

<?php
//1.连接数据库
require __DIR__."/connect.php";
//2.创建sql语句模板
$sql = 'DELETE FROM `category` WHERE `cate_id`=:cate_id';
//3.创建sql语句对象:预处理对象
$stmt=$pdo->prepare($sql);
//4.为sql语句模板中的变量赋值
$cate_id=11;
$stmt->bindParam(':cate_id', $cate_id, PDO::PARAM_INT);
//5.执行sql语句操作
if($stmt->execute()){
    if($stmt->rowCount()>0){
        echo '成功删除了' . $stmt->rowCount() . '条记录';
    }
}else{
    die("<pre>".print_r($stmt->errorInfo(),true));
}

//6.关闭连接
$pdo=null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

1.png

我们查看数据库

2.png

3)update

实例

<?php
//1.连接数据库
require __DIR__."/connect.php";
//2.创建sql语句模板
$sql = 'UPDATE  `category` SET `name` = :name, `alias` = :alias WHERE `cate_id`=:cate_id';
//3.创建sql语句对象:预处理对象
$stmt=$pdo->prepare($sql);
//4.为sql语句模板中的变量赋值
$name='xjj';
$alias='小姐姐';
$cate_id=5;
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':alias', $alias, PDO::PARAM_STR);
$stmt->bindParam(':cate_id', $cate_id, PDO::PARAM_INT);
//5.执行sql语句操作
if($stmt->execute()){
    if($stmt->rowCount()>0){
        echo '成功更新了' . $stmt->rowCount() . '条记录';
    }
}else{
    die("<pre>".print_r($stmt->errorInfo(),true));
}

//6.关闭连接
$pdo=null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

1.png

2.png

4)select

实例

<?php
//1.连接数据库
require __DIR__.'/connect.php';
//2.创建sql语句模板
$sql='SELECT * FROM `movies` WHERE `cate_id`=:cate_id';
//3.创建sql语句对象:预处理对象
$stmt=$pdo->prepare($sql);
//4.绑定变量
$cate_id=2;
$stmt->bindParam(':cate_id',$cate_id,PDO::PARAM_INT);
//5.执行sql语句
$stmt->execute();
//PDO::FETCH_ASSOC 获取模式

/*
//fetch 每次取一行数据   指针下移一位
while($movies=$stmt->fetch(PDO::FETCH_ASSOC)){
    echo "<pre>".print_r($movies,true);
}
*/
/*
//一次性获取所有   是一个二维数组
//echo "<pre>".print_r($stmt->fetchAll(PDO::FETCH_ASSOC),true);
$movies=$stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($movies as $movie){
    echo "<pre>".print_r($movie,true);

}
*/
/*
将结果集的字段列表与变量绑定

$stmt->bindColumn('name',$name);
$stmt->bindColumn('detail',$detail);
while($stmt->fetch(PDO::FETCH_ASSOC)){
    echo "简称:".$name."<br>"."====>简介 :".$detail."<hr>";
}
*/
//6.关闭连接
$pdo=null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

每次取一行数据 fetch

1.png

一次性获取所有数据 fetchAll

2.png

讲结果集的字段与变量绑定

3.png


`增删改查`其中'增','删','改'可视为写操作,所以使用rowCount()返回受影响的行数来判断是否执行成功

批改状态:合格

老师批语:代码写得非常的规范, 并没有用到简化的方案, 坚持
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学