博客列表 >0425 php mysql pdo操作

0425 php mysql pdo操作

田亢的博客
田亢的博客原创
2018年04月27日 15:58:51675浏览

//面向对象的操作方式

实例

<?php
require 'mysqli_connect.php';
//准备SQL语句
$sql = "SELECT staff_id,name,salary FROM staff WHERE salary>?;";
//创建stmt预处理对象
$stmt = $mysqli->stmt_init();
//检测预处理SQL语句
if ($stmt->prepare($sql)){
//绑定参数
    $stmt->bind_param('i',$salary);
    //设置参数
    $salary=5000;
    //执行查询
    $stmt->execute();
    //获取结果集到缓冲区
    $stmt->store_result();
    //将结果集中的列绑定到变量
    $stmt->bind_result($id,$name,$salary);
    //判断结果集是否为空
    if ($stmt->num_rows>0){
        //循环遍历
        while($stmt->fetch()){
           echo '<br>id:'.$id."--姓名:".$name."--工资:".$salary;
        }
    }else{
        echo '没有结果';
    }
    $stmt->close();
}else{

    exit($stmt->errno.":".$stmt->error);
}
$mysqli->close();

运行实例 »

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

实例


删除操作

<?php
//连接数据库,创建PDO对象
$pdo = new PDO('mysql:dbname=php','root','123456');
//准备预处理SQL语句,占位符使用命名参数格式:
$sql = "INSERT `user` SET `user_name`=:name, `email`=:email,`password`=sha1(:password)";
//处理PDO预处理对象
$stmt = $pdo->prepare($sql);
//查看生成的SQL语句
//echo $stmt->queryString;
//绑定参数到预处理对象
$data = ['name'=>'杨你妈','email'=>'ynm@php.cn','password'=>'12345'];

$stmt->bindParam(':name',$data['name'],PDO::PARAM_STR);
$stmt->bindParam(':email',$data['email'],PDO::PARAM_STR);
$stmt->bindParam(':password',$data['password'],PDO::PARAM_STR);
//执行新增操作
if ($stmt->execute()){
    echo '<h3>成功添加了'.$stmt->rowCount().'条记录</h3>';
}else{
    echo '<h3>添加失败</h3>';
    print_r($stmt->errorInfo());
}
//销毁对象
$pdo=null;

运行实例 »

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

实例

//1.连接数据库,创建pdo对象
try {
$pdo = new PDO('mysql:dbname=php','root','123456');
} catch (PDOException $e) {
    exit($e->getMessage());
}
//2.准备sql语句
//$sql = "UPDATE user SET email=:email WHERE user_id=:user_id";
<?php

//删除操作
$sql = 'DELETE FROM user WHERE user_id=:user_id';
//3.创建预处理对象stmt对象
if($stmt = $pdo->prepare($sql)) {
    //4.将参数绑定到stmt对象并执行
    //准备参数
    $param = ['user_id'=>4];
    //绑定参数到SQL语句对象并执行
    if ($stmt -> execute($param)){
        //rowCount()返回更新的数量,如果大于0表示有记录被更新啦
        if ($stmt->rowCount()>0) {
            echo '成功删除了'.$stmt->rowCount().'条记录';
        } else {  //等于0表示没有记录被更新
            echo '没有记录被更新';
        }
    } else { //执行失败的信息
        print_r($stmt->errorInfo());
        exit();
    }
} else {  //$stmt语句对象创建失败
  print_r($pdo->errorInfo());
  exit();
}

运行实例 »

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



更新操作


实例

<?php
//连接数据库,创建PDO对象
$pdo = new PDO('mysql:dbname=php','root','123456');
//创建预处理对象
$stmt = $pdo->prepare('UPDATE user SET email=:email WHERE user_id=:user_id');

//将参数板顶到预处理语句对象并执行
$stmt->execute(['email'=>'lwt@php.com','user_id'=>6]);

echo '成功更新了'.$stmt->rowCount().'条记录';

运行实例 »

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





声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议