Blogger Information
Blog 24
fans 0
comment 0
visits 16399
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQLi与PDO操作数据库-2018年8月30日
鱼越龙门的博客
Original
671 people have browsed it

今天学习了Mysqli和PDO操作数据库的知识

代码:

实例

<?php
require 'demo1.php';
$sql="select staff_id,name,salary from staff where salary>?";
$stmt=$mysqli->stmt_init();
if($stmt->prepare($sql)){
    $stmt->bind_param('i',$salary);
    $salary=5000;
    if($stmt->execute()) {
        $stmt->store_result();
        $stmt->bind_result($id, $name, $salary);
        if ($stmt->num_rows > 0) {
            while ($stmt->fetch()) {
                echo '<p>id:' . $id . '---姓名:' . $name . '---工资:' . $salary . '</p>';
            }
        } else {
                exit('<p>当前表中没有数据</p>');
        }
                $stmt->free_result();
    }else {
        exit($stmt->errno. ': ' . $stmt->error);
    }
} else {
    exit($stmt->errno. ': ' . $stmt->error);
}
$stmt->close();
$mysqli->close();

运行实例 »

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

 PDO 的优势

有了PDO,您不必再使用mysql_*函数,oci_*函数或者mssql_*函数,也不必再为它们封闭数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作,在选择不同的数据库时,只修改PDO的DSN即可. PDO比以往的数据库自带函数库比,安全系数更高,有效的可以防止SQL注入!

代码:

实例

<?php
$dsn="mysql:host=127.0.0.1;dbname=php";
$user='root';
$pwd='root';
try{
    $pdo=new PDO($dsn,$user,$pwd);
}catch (PDOException $e){
    die('Connnect ERROR!:'.$e->getMessage());
}

运行实例 »

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

实例

<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$sql="insert into user set user_name=:name,email=:email,password=sha1(:password)";
$stmt=$pdo->prepare($sql);
$data=['name'=>'杨过','email'=>'yg@php.cn','password'=>'123'];
$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 '成功添加了'.$stmt->rowCount().'条记录';
}else{
    echo '添加失败';
    print_r($stmt->errorInfo());
    exit();
}
$stmt = null;
$pdo = null;

运行实例 »

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

实例

<?php
$pdo=new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$sql="update user set email=:email where user_id=:id";
$stmt=$pdo->prepare($sql);
$stmt->execute(['email'=>'yzf@qq.com','id'=>'3']);
echo '<h3>成功更新了'.$stmt->rowCount().'条记录</h3>';
$stmt=null;
$pdo=null;

运行实例 »

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

实例

<?php
$pdo=new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$sql="delete from user where user_id=:id";
$stmt=$pdo->prepare($sql);
if($stmt->execute(['id'=>'3'])){
    echo '<h3>成功删除了'.$stmt->rowCount().'条记录</h3>';
}else{
    echo '<h3>无删除</h3>';
    print_r($stmt->errorInfo());
    exit();
}
$stmt=null;
$pdo=null;

运行实例 »

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

实例

<?php
$pdo=new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$sql="select user_name,email from user where user_id<:id";
$stmt=$pdo->prepare($sql);
$stmt->execute(['id'=>'4']);
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
   echo var_export($row),'<br>';
}

运行实例 »

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

获取结果集记录数量的正确方式是什么

用count()函数来获取结果集记录数量

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