Blogger Information
Blog 38
fans 1
comment 0
visits 26191
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
mysql和PDO数据库的连接以及增删改查功能--2018年08月31日18时13分
一根火柴棒的博客
Original
1044 people have browsed it

1.编程:MySQLi面向对象中的查询操作:


实例

<?php

error_reporting(E_ALL ^E_WARNING);

$mysqli = new mysqli('127.0.0.1','root','root','user');

if ($mysqli->connect_errno)
{
    die('连接失败'.$mysql->connect_errno.':'.$mysql->connect_error);
}else{
    echo '连接成功';
}


$sql = "SELECT `id`,`name`,`age` FROM `name` WHERE `age`> ? ;";//创建查询sql语句

$tmp = $mysqli->stmt_init();//初始化预处理对象


if ($tmp->prepare($sql)) {

    $tmp->bind_param('i', $age);

    $age = 5;

    if ($tmp->execute()) {
        $tmp->store_result();//保存变量到缓存

        $tmp->bind_result($id, $name, $age);//结果集绑定到变量上

        //结果集是否不为,只有不为空的时候才遍历
        if ($tmp->num_rows > 0) {
            // 循环遍历结果集
            while ($tmp->fetch()) {
                echo '<p>id:'.$id.'---姓名:'.$name.'---年龄:'.$age.'</p>';
            }

        }else {
            exit('<p>当前表中没有数据</p>');
        }
    }else {
        //返回执行阶段的出错信息
        exit($stmt->errno . ': ' . $stmt->error);
    }
} else {
    //返回执行阶段的出错信息
    exit($stmt->errno . ': ' . $stmt->error);
    }

运行实例 »

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


2. 问答: PDO 的优势:

答:PDO操作起来更方便,更便捷,有更多的封装函数,有预处理对象,减少和降低外部对SQL的注入攻击,易于在不同数据库之间进行转换


3. 编程:PDO 连接数据库:


实例

<?php

$dsn = 'mysql:host=127.0.0.1; dbname=user';


//PDO数据库连接
try{
    $pdo = new PDO($dsn,'root','root');
    echo '连接成功','</br>';
}catch(PDOException $e){
    die('连接错误'.$e->getMessage());
}

运行实例 »

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

4. 编程:PDO新增数据:


实例

<?php

$dsn = 'mysql:host=127.0.0.1; dbname=user';


//PDO数据库连接
try{
    $pdo = new PDO($dsn,'root','root');
    echo '连接成功','</br>';
}catch(PDOException $e){
    die('连接错误'.$e->getMessage());
}



//PDO新增数据

$sql = "INSERT `name` SET `name`=:name,`age`=:age";

//创建与处理对象

$stmt = $pdo->prepare($sql);

//设置添加数据数组
$data = ['name'=>'alex','age'=>34];

$stmt->bindParam(':name',$data['name'],PDO::PARAM_STR);
$stmt->bindParam(':age',$data['age'],PDO::PARAM_INT);

if ($stmt->execute())
{
    echo '<h3>成功添加了'.$stmt->rowcount().'条数据</h3>';
}else{
    echo '<h3>添加失败</h3>';
    print_r($stmt->errorInfo());
    exit();
}

运行实例 »

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

5.编程: PDO更新数据:


实例

<?php

$dsn = 'mysql:host=127.0.0.1; dbname=user';


//PDO数据库连接
try{
    $pdo = new PDO($dsn,'root','root');
    echo '连接成功','</br>';
}catch(PDOException $e){
    die('连接错误'.$e->getMessage());
}


//PDO更新数据

$updatesql = "UPDATE `name` SET `name`= :name WHERE `id`= :id";

$stmt = $pdo->prepare($updatesql);

if ($stmt->execute(['name'=>'小二郎','id'=>3]))
{
    echo '<h3>更新了'.$stmt->rowcount().'条数据</h3>';
}else{
    echo '<h3>更新失败</h3>';
    print_r($stmt->errorInfo());
    exit();
}

运行实例 »

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

6. 编程: PDO 删除数据:


实例

<?php

$dsn = 'mysql:host=127.0.0.1; dbname=user';


//PDO数据库连接
try{
    $pdo = new PDO($dsn,'root','root');
    echo '连接成功','</br>';
}catch(PDOException $e){
    die('连接错误'.$e->getMessage());
}



//PDO删除数据

//删除sql语句
$deletesql = "DELETE FROM `name` WHERE `id`= :id";

$stmt = $pdo->prepare($deletesql);

if ($stmt->execute(['id'=>1]))
{
    echo '<h3>删除了'.$stmt->rowcount().'条数据</h3>';
}else{
    echo '<h3>删除失败</h3>';
    print_r($stmt->errorInfo());
    exit();
}

运行实例 »

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

7. 编程:PDO查询数据:


实例

<?php

$dsn = 'mysql:host=127.0.0.1; dbname=user';


//PDO数据库连接
try{
    $pdo = new PDO($dsn,'root','root');
    echo '连接成功','</br>';
}catch(PDOException $e){
    die('连接错误'.$e->getMessage());
}


//PDO查询数据

//查询sql语句
$selectsql = "SELECT `name`,`id` FROM `name` WHERE `age` > :age";
$stmt = $pdo->prepare($selectsql);

$stmt->execute(['age'=>0]);

//循环查询
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    echo var_export($row),'</br>';
}


$stmt = null;

$pdo = null;

运行实例 »

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

8.问答:获取结果集记录数量的正确方式是什么?

答:用SQL语句 "count(*)"来查询 ,最后用PDO里的 fetchColumn()获取

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