阅读模式:

使用php最新的PDO方式连接mysql数据库

查看:10826  回复:0  类型:  来源:php自学网  标签 mysql

        php中有mysql、mysqli和pdo三中方式进行数据库的连接操作,其中mysql方式已经不推荐使用,一些高的php版本已经不开始支持,推荐使用pdo方式连接,而mysqli的连接方式只是为了让程序开发者们更加容易的从mysql过度到pdo。

        pdo是php提供的轻量级连接数据的接口,在php5.1之后的版本中使用,pdo方式好处是比之前的mysql方式更加安全兼容性好,可以使用同样的方式连接Oracle、mssql等数据库。

一、连接数据库代码:

$db_ms='mysql';  //数据库类型
$db_host='localhost';  //主机地址
$db_user='root';  //数据库账号
$db_pass='test';  //数据库密码
$db_name='test'; //数据库名
//拼接数据库主机信息
$dbh=$db_ms.':host='.$db_host.';'.'dbname='.$db_name;
try{
    //开始连接数据库
   $dbh = new PDO($dbh,$db_user,$db_pass);
   //echo '连接成功';
   //设置字符集
   $dbh -> query('set names utf8');
}catch(PDOException $e){
    //连接失败错误提示
  die('error:'.$e->getMessage());
}

二、pdo方式常用的增删该查方法

       query() 执行一条sql语句,获取结果集

        fetch()  从结果集中获取一行数据

        fetchAll() 获取所有行,并返回数据

        exec()  执行一条sql语句,返回影响行数

        2.1 query()和fetch()查询单条数据结果

//sql举例
$sql = "select * from test";
$res = $dbh->query($sql);
$data = $res -> fetch();

        2.2 query()和fetchAll()查询多条数据结果

//sql举例
$sql = "select * from test";
$res = $dbh->query($sql);
$data = $res -> fetchAll();

        2.3 exec() 执行增加、删除、更新语句

//sql举例
$sql1 = "update test set name='name' where id =1";
$dbh->exec($sql1);

$sql1 = "delete from test where id =1";
$dbh->exec($sql1);

$sql1 = "insert into test (name)values('test')";
$dbh->exec($sql1);

        2.4 pdo自带防止sql注入预处理,无需再对用户输入数据过滤操作

$sql = "select * from test where username = ? and password = ?"; 
$res = $dbh -> prepare($sql);//预处理sql
$res -> execute(array('admin','123456'));//传递参数
$data = $res -> fetch();
分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:16769用php从1乘到100的值   阅读:6099mysql的四种索引类型   阅读:22039给 centos 7 安装桌面环境   阅读:16596php压缩页面的html代码一行显示   阅读:7135php翻转字符串   阅读:3350linux top命令详解   阅读:9129session与cookie的区别   阅读:4027人性漫画:打工与创业的残酷区别   阅读:4644session与cookie的区别   阅读:4027php swoole搭建简单的聊天室   阅读:3631mysql中文分词全文搜索索引讯搜的安装   阅读:6612最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:10641centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9186html5 离线缓存的使用   阅读:4217session与cookie的区别   阅读:4027什么是天使轮?什么是A轮融资?B轮融资?   阅读:4760TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:3259centos 7 安装 nginx-1.11.10   阅读:8203centos 7 修改系统屏幕分辨率   阅读:43743centos 7 开启网络   阅读:6712centos 7 安装 redis 3.2.9   阅读:6422网站局部小图片优化-base64编码图片   阅读:12539一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:127555给php7安装redis扩展库   阅读:8028移动端自适应rem原理   阅读:9474nginx编译安装后对nginx进行平滑升级   阅读:6267简单的DOS攻击之死亡之ping详解   阅读:53441小米手机端商城rem适配原理   阅读:6539centos 7 安装 php-7.1.3   阅读:19575栈和堆的区别   阅读:4807web性能测试工具ab的测试方法   阅读:4433php翻转字符串   阅读:3350php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:5472centos 7 开启网络   阅读:6712解决 nginx 413 request entity too large   阅读:4266给php7安装redis扩展库   阅读:8028nginx编译安装后对nginx进行平滑升级   阅读:6267web项目高并发量网站解决方案   阅读:4448给php7安装redis扩展库   阅读:8028mongodb设置shell开机启动脚本   阅读:9712centos 7 安装 samba 服务   阅读:6531php 读取和设置redis的键值   阅读:7056centos7中颁发CA证书并开启web https   阅读:7116linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:16769简单的DOS攻击之死亡之ping详解   阅读:53441linux教程,鸟哥私房菜(pdf全集)   阅读:9618centos 7 安装 nginx-1.11.10   阅读:8203web项目高并发量网站解决方案   阅读:4448mysql5.7开启sql日志的配置   阅读:8785