热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2.PDO的使用

1.exec()1.1建表

这里写图片描述
这里写图片描述



1. exec()
这里写图片描述

1.1 建表
phptry {$dsn &#61; &#39;mysql:host&#61;localhost;dbname&#61;test&#39;;$username &#61; &#39;root&#39;;$password &#61; &#39;123456&#39;;$pdo &#61; new PDO($dsn,$username,$password);//exec();执行一条 sql 语句&#xff0c;并返回受影响的记录的条数,如果没有受影响返回0//exec 对 select 没有作用$sql &#61; <<<EOF
create table if not exists user(id int unsigned auto_increment key,username varchar(20) not null unique,password char(32) not null,email varchar(32) not null
)
EOF;$res &#61; $pdo->exec($sql);var_dump($res);} catch (PDOException $e) {echo $e->getMessage();
}返回 0&#xff1b;

插入记录&#xff1a;
//插入一条记录//$sql &#61; &#39;insert user(username,password,email) values("wjh",md5("wjh"),"188&#64;qq.com")&#39;;//$res &#61; $pdo->exec($sql); 返回 1//插入多条记录
$sql &#61; <<values("wjh1",md5("wjh"),"188&#64;qq.com"),("wjh2",md5("wjh"),"188&#64;qq.com"),("wjh3",md5("wjh"),"188&#64;qq.com")
EOF;$res &#61; $pdo->exec($sql); // 返回 3$pdo->lastInsertId(); //返回 最后一条插入记录的 ID

这里写图片描述

更新记录&#xff1a;$sql &#61; &#39;update user set username&#61;"immoc" where id&#61;3&#39;;$res &#61; $pdo->exec($sql);

删除记录$sql &#61; &#39;delete from user where id&#61;2&#39;;$res &#61; $pdo->exec($sql);

获取错误信息&#xff1a;//删除记录$sql &#61; &#39;delete from user12 where id&#61;2&#39;;$res &#61; $pdo->exec($sql);if ($res &#61;&#61;&#61; false) {//返回数据库句柄上一次操作相关的SQLSTATE的值echo $pdo->errorCode();echo &#39;
&#39;
;//返回数据库句柄上一次操作错误信息的数组&#xff0c;数组包括3个单元//1. 0 &#61;> SQLSTATE//2. 1 &#61;> 错误编号,CODE//3. 3 &#61;> 信息$errInfo &#61; $pdo->errorInfo();var_dump($errInfo);} else {var_dump($res);}

这里写图片描述
这里写图片描述



2. query()

try {$pdo &#61; new PDO(&#39;mysql:host&#61;localhost;dbname&#61;test&#39;,&#39;root&#39;,&#39;123456&#39;);//$sql &#61; &#39;select * from user where id&#61;2;&#39;;$sql &#61; &#39;select * from user;&#39;;//执行 sql 语句&#xff0c;返回PDOStatement对象$stmt &#61; $pdo->query($sql);foreach ($stmt as $row) {echo $row[&#39;id&#39;];echo &#39;
&#39;
;echo $row[&#39;username&#39;];echo &#39;
&#39;
;echo $row[&#39;password&#39;];echo &#39;
&#39;
;echo $row[&#39;email&#39;];echo &#39;
&#39;
;}} catch (PDOException $e) {echo $e->getMessage();
}


3.prepare() and execute()

try {$pdo &#61; new PDO(&#39;mysql:host&#61;localhost;dbname&#61;test&#39;,&#39;root&#39;,&#39;123456&#39;);$sql &#61; "select * from user";//返回一个 PDOStatement 对象//prepare($sql);准备 sql 语句$stmt &#61; $pdo->prepare($sql);//设置默认的返回模式$stmt->setFetchMode(PDO::FETCH_OBJ);// execute(); 执行预处理语句,返回布尔值$res &#61; $stmt->execute();//取出结果集取出一条记录
// $row &#61; $stmt->fetch();if ($res) {while($row &#61; $stmt->fetch(PDO::FETCH_ASSOC)) {var_dump($row );}}//用 fetchAll()/*$rows &#61; $stmt->fetchAll();var_dump($rows);*/} catch (PDOException $e) {echo $e->getMessage();
}

这里写图片描述
这里写图片描述
这里写图片描述



4.getAttribute() and setAttribute()

try {$dsn &#61; &#39;mysql:host&#61;localhost;dbname&#61;test&#39;;$username &#61; &#39;root&#39;;$password &#61; &#39;123456&#39;;$pdo &#61; new PDO($dsn,$username,$password);// 默认为 1 &#xff0c;自动提交echo &#39;自动提交 : &#39; . $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);echo &#39;
&#39;
;echo &#39;默认错误处理模式 &#xff1a;&#39; . $pdo->getAttribute(PDO::ATTR_ERRMODE);echo &#39;
&#39;
;$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);echo &#39;自动提交 : &#39; . $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);
} catch (PDOException $e) {echo $e->getMessage();
}

这里写图片描述
这里写图片描述
这里写图片描述



try {$dsn &#61; &#39;mysql:host&#61;localhost;dbname&#61;test&#39;;$username &#61; &#39;root&#39;;$password &#61; &#39;123456&#39;;$pdo &#61; new PDO($dsn,$username,$password);$attArr &#61; array(&#39;AUTOCOMMIT&#39;,&#39;CASE&#39;,&#39;CLIENT_VERSION&#39;,&#39;CONNECTION_STATUS&#39;,&#39;DRIVER_NAME&#39;,&#39;ERRMODE&#39;,&#39;ORACLE_NULLS&#39;,&#39;PERSISTENT&#39;,&#39;PREFETCH&#39;,&#39;SERVER_INFO&#39;,&#39;SERVER_VERSION&#39;,&#39;TIMEOUT&#39;);foreach ($attArr as $attr) {echo "PDO_ATTR_$attr : ";echo $pdo->getAttribute(constant("PDO::ATTR_$attr"));echo &#39;
&#39;
;}} catch (PDOException $e) {echo $e->getMessage();
}

这里写图片描述


推荐阅读
  • php用户注册与,fruit词组
    本文目录一览:1、PHP用户注册2、PHP怎么 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • MySQL笔记_MySQL笔记1|数据库17问17答
    本文由编程笔记#小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。 ... [详细]
  • destoon会员注册提示“数据校验失败(2)”解决方法【PHP】
    后端开发|php教程destoon,会员注册,数据校验失败,后端开发-php教程很多人在使用destoon建立一个B2B系统的时候,会在企业站注册企业用户的时候出现:“数据校验失败 ... [详细]
  • PHP连接MySQL的2种方法小结以及防止乱码【PHP】
    后端开发|php教程PHP,MySQL,乱码后端开发-php教程PHP的MySQL配置报错信息:ClassmysqlinotfoundinAnswer:1.在confphp.ini ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
author-avatar
星宇ooo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有