PHP4 PDO

来源:互联网 发布:团队复制优化方案 编辑:程序博客网 时间:2024/05/20 17:07
【pdo】 开始

    PDO --- PHP 数据 对象

    PHP专门用来连接数据库的东西,通过一套函数连接不同的数据库

    在你是用之前 开启PDO模块

    开启:
        在咱们的php.ini 里面extension=php_pdo_mysql.dll注释打开

    mysqli数据库链接方式
        1、链接数据库
        2、判断是否成功
        3、设置字符集
        4、选择数据库
        5、准备sql语句
        6、发送
        7、处理结果集
        8、数据库链接关闭

$dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
$pdo->query(set names utf8);

【数据库引擎】
    myisam
        不支持事务
    innodb
        支持事务

【关于pdo的事务】
    $pdo->beginTransaction();
    $pdo->exec($sql);
    $pdo->rollBack();
    $pdo->commit();

<?php

try {
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');
    $sql = "update money set amoney=money-1000 where id = 1";
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

    echo $pdo->errorCode();
    $arr = $pdo->errorInfo();
    var_dump($arr);
    /*
    $pdo->beginTransaction();
    $result = $pdo->exec($sql);
    //$pdo->rollBack();
    $pdo->commit();
    */
} catch(PDOException $e) {
    echo '我遇到了一些异常<br />';
    echo $e->getMessage().'<br />';
    echo $e->getCode().'<br />';
}

获取最后一条插入的自增id
    $pdo->lastInsertId();

<?php

try {
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');
    $sql = "insert into money(username , money) values('张三' , 200)";
    $result = $pdo->exec($sql);
    echo $pdo->lastInsertId();

} catch (PDOException $e) {
    $e->getCode();
}
预处理——添加

<?php
try {
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    //接下来重点 预处理
    //第一种方法
    /*$stmt = $pdo->prepare('insert into money(username , money) values(? , ?)');
    $stmt->bindValue(1 , '没劲');
    $stmt->bindValue(2 , 3000);
    $result = $stmt->execute();*/
    //第二种方法
    $stmt = $pdo->prepare('insert into money(username , money) values(:username , :money)');
    $username = '不好好学习,就是***';
    $money = 30000;

    $stmt->bindParam(':username' , $username);
    $stmt->bindParam(':money' , $money);
    //$stmt->execute([':username' => '我是李坤' , ':money' => 200000000]);//这样插入也可
    $result = $stmt->execute();
    if ($result) {
         echo 'success';
    } else {
        echo 'failed';
    }

} catch (PDOException $e) {
    echo $e->getCode();
}
预处理——修改

<?php

try {

    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    $stmt = $pdo->prepare('update money  set username=? where id=?');
    $stmt->execute(['小甜瓜' , 4]);

} catch (PDOException $e) {

}

预处理——删除

<?php
try {

    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    /*
    $stmt = $pdo->prepare('delete from money where id = :id');
    $stmt->execute(['id' => 1]);
    */

    $del = $pdo->prepare('DELETE FROM money');
    $del->execute();

    $count = $del->rowCount();

    var_dump($count);

} catch (PDOException $e) {

}

预处理——查询1

<?php
$dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
$pdo = new PDO($dsn , 'root' , 'kungezuishuai');

$stmt = $pdo->prepare('select * from money where id>:id');
$stmt->execute(['id' => 1]);

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['id'].'----'.$row['username'].'---'.$row['money'].'<br/>';
}

预处理——查询2

<?php

try{
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    $stmt = $pdo->prepare('select id,username,money from money');

    $stmt->bindColumn(1 , $id);
    $stmt->bindColumn(2 , $username);
    $stmt->bindColumn(3 , $money);

    $stmt->execute();

    while ($stmt->fetch(PDO::FETCH_BOUND)) {
        echo $id.'<br />';
        echo $username.'<br />';
        echo $money.'<br />';
    }

} catch (PDOException $e) {

}

预处理——查询3

<?php

try{
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    $stmt = $pdo->query('select * from money');

    $stmt->execute();

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['id'];
    }
} catch (PDOException $e) {

}

预处理——查询4

<?php

try{
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $pdo = new PDO($dsn , 'root' , 'kungezuishuai');

    $stmt = $pdo->prepare('select * from money where id > 3 order by id desc limit 0 , 5');

    $stmt->execute();
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach ($data as $key => $val) {
        echo $val['username'].'<br />';
    }
} catch (PDOException $e) {

}

















原创粉丝点击