Blogger Information
Blog 29
fans 0
comment 0
visits 19653
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
CURD语句基本语法,PDP操作数据库-2019年7月24日
blog
Original
1003 people have browsed it

一.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()返回受影响的行数来判断是否执行成功

Correction status:qualified

Teacher's comments:代码写得非常的规范, 并没有用到简化的方案, 坚持
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post