音乐吧 - www.52290.com

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1833|回复: 0

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

[复制链接]

1056

主题

1090

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

音乐币
101
贡献
537
金钱
4385
威望
2120
相册
1

推广达人宣传达人突出贡献荣誉管理最佳新人活跃会员

QQ
发表于 2020-11-3 13:31:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
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();

三、pdo类
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|版权声明| 音乐吧 52290 ( 桂ICP备2021006182号 )

GMT+8, 2024-5-1 07:05 , Processed in 0.040915 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 07726.Com Inc.

快速回复 返回顶部 返回列表