博客列表 >pdo的增删改操作与获取正确的受影响行数的方法

pdo的增删改操作与获取正确的受影响行数的方法

李明伟的博客
李明伟的博客原创
2019年02月26日 09:06:061488浏览
<?php
//新增操作


header("content-type:text/html;charset=utf-8");
//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=shopimooc', 'root', 'root');
$pdo->query('set names utf8;');
//2.执行操作
$sql = 'INSERT INTO `imooc_cate` (`cName`) VALUES (:cName) ';
$stmt = $pdo->prepare($sql);
$cName = '大米手机';
$stmt->bindParam(':cName', $cName, PDO::PARAM_STR, 10);
$stmt->execute();
if ($stmt->rowCount() > 0) {
    echo '成功的添加了' . $stmt->rowCount() . '条记录';
}
//更新操作
$sql = "UPDATE `imooc_cate` SET `cName` = '小米手环' WHERE `id` = 26";
$stmt = $pdo->prepare($sql);
$stmt->execute();
if ($stmt->rowCount() > 0) {
    echo '成功的更新了' . $stmt->rowCount() . '条记录';
}
//删除操作
$sql = "DELETE FROM `imooc_cate` WHERE id = 33";
$stmt = $pdo->prepare($sql);
$stmt->execute();
if($stmt->rowCount()>0){
    echo '成功的删除了'.$stmt->rowCount().'条记录';
}
//关闭连接
$pdo = null;
?>

注:PDO::rowCount()方法在对于增删改操作时返回的值是正确的,但当涉及查的操作时,会受当前使用的数据库影响,若一次查询的量过于庞大,会导致数据库只返回一部分结果集,在需要时再返回其他结果集,从而使PDO::rowCount()方法出错,此时需要使用另一种方法代替。

query方法——

$sql = 'SELECT COUNT(*) FROM `message`';
$row = $pdo->query($sql);
$rowcount = $row->fetch();
echo $rowcount[0];

execute(预处理方法)——

$sql = 'SELECT COUNT(*) FROM `message`';
$stmt = $pdo->prepare($sql);
$stmt->execute();
$rowcount = $stmt->fetchColumn(0);
echo $rowcount;


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