实例
/**
* 利用PDO来插入数据
*/
$dsn = 'mysql:host=127.0.0.1;dbname=php';
$user = 'root';
$pass = 'root';
try
{
$pdo = new PDO($dsn,$user,$pass);
echo 'true';
}catch (PDOException $e) {
echo 'flast'.$e->getMessage();
}
//利用PDO向数据库中插入数据
//先准备一个sql语句
$sql = "INSERT IGNORE `user` SET `name`=:name,`password`=sha1(:password),`email`=:email,`age`=:age";
//创建预处理对象
$stmt = $pdo->prepare($sql);
//准备的一个数据要插入到数据库中的
$data = ['name'=>'郭靖','password'=>123456,'email'=>'guojing@php.cn','age'=>45];
//绑定参数
$stmt->bindParam(':name',$data['name'],PDO::PARAM_STR);
$stmt->bindParam(':password',$data['password'],PDO::PARAM_STR);
$stmt->bindParam(':email',$data['email'],PDO::PARAM_STR);
$stmt->bindParam(':age',$data['age'],PDO::PARAM_STR);
//将插入的结果打印出来
if ($stmt->execute()) {
echo '插入成功:共插入'.$stmt->rowCount().'条数据';
}else {
echo '插入失败:'.print_r($stmt->errorInfo());
}
$pdo = null;//关闭数据库
运行实例 »
点击 "运行实例" 按钮查看在线实例
利用PDO的优势快速的连接数据库并插入一条记录
实例
/**
* //更简单的向数据库中插入数据
*/
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$stmt = $pdo->prepare("INSERT IGNORE `user` SET `name`=:name,`password`=sha1(:password),`email`=:email,`age`=:age");
$stmt->execute(['name'=>'雕','password'=>123456,'email'=>'diao@php.cn','age'=>98]);
echo '共执行插入数据:'.$stmt->rowCount().'条';
运行实例 »
点击 "运行实例" 按钮查看在线实例
利用PDO来更新一条数据
实例
/**
* 利用PDO更新一条数据
*/
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$sql = "UPDATE `user` SET `email`=:email,`age`=:age WHERE `id`=:id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['email'=>'123@php.cn','age'=>45,'id'=>1]);
echo '共更新:'.$stmt->rowCount().'条数据';
$stmt = null;
运行实例 »
点击 "运行实例" 按钮查看在线实例
利用PDO删除一条数据
实例
/**
* 利用PDO来删除一条数据
*/
//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
//准备删除的SQL语句
$sql = "DELETE FROM `user` WHERE `id`=:id";
//预处理SQL语句
$stmt = $pdo->prepare($sql);
//执行SQL语句,将id绑定
$stmt->execute(['id'=>6]);
echo '成功删除:'.$stmt->rowCount().'条数据';
运行实例 »
点击 "运行实例" 按钮查看在线实例
利用PDO来查询数据库里面的东西
实例
/**
* 利用POD查询数据,查询数据最重要,也是在数据库中用的最多
*/
//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
//准备要检查数据库的语句
//查询user表中的name,email键中id>5的记录条
$sql = "SELECT `name`,`email` FROM `user` WHERE `id` > :id";
//预算处理sql语句
$stmt = $pdo->prepare($sql);
//将ID绑定,并执行
echo print_r($stmt->execute(['id'=>5]));
//将所有条数输出,然后使用foreach将数据遍历出来。
$row = $stmt->fetchAll();
foreach ($row as $rows) {
echo '姓名:'.$rows['name'].'邮箱:'.$rows['email'].'
';
}
$stmt = null;//关闭数据库
$pdo = null;
运行实例 »
点击 "运行实例" 按钮查看在线实例
*如果在获取结果集记录数量时,如果在查询语句中直接使用*来代码所有字段,这种情况有可能会使数据库之间不能统一接口,比如你在mysql中可以获取到,但是有可能在其它数据库中没有获取到,所以要在查询语句时候,将*利用count(*)来获取所有记录条数,这样数据就统一接口了,不光可以在mysql中使用还可以在mssql等其它数据库中也可以使用。