博客列表 >CURD语句基本语法,PDP操作数据库-2019年7月24日

CURD语句基本语法,PDP操作数据库-2019年7月24日

blog
blog原创
2019年07月25日 17:17:531004浏览

一.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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议