时间:2020-10-30 浏览量: 收藏
1、什么是PDO?
php data object ,php数据对象,PHP 数据对象 (PDO) 扩展为PHP操作多种数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。 注意利用 PDO 扩展自身并不能实现任何数据库功能;必须使用一个 具体数据库的 PDO 驱动 来访问数据库服务。
PDO 提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。 PDO 不提供 数据库 抽象层;它不会重写 SQL,也不会模拟缺失的特性。如果需要的话,应该使用一个成熟的抽象层。
2、为什么要使用PDO?
更换其他数据库的时候无需更换代码,提高了程序运行效率
3、PDO的特点是什么?
(1)、编码的一致性
(2)、灵活性
(3)、面向对象特性
(4)、高性能
使用PDO的好处是:从根本上防止SQL注入
4、如何使用PDO?
修改 php.ini中的配置 添加mysql的PDO扩展
(1) extension=php_pdo_mysql.dll 去前面的分号
(2) 扩展目录中要有相应的扩展文件
(3) PDO连接不同的数据库,要有不同的数据库驱动文件即我们所加入配置文件的扩展
(4) 重新启动Apache使配置生效
使用PDO连接Mysql数据库实例:
<?php header("content-type:text/html;charset=utf-8"); define('DB_TYPE','mysql');//定义数据库类型常量 define('DB_HOST','127.0.0.1');//定义主机地址常量 define('DB_PORT','3306');//定义连接数据库端口号常量 define('DB_CHARSET','utf8');//定义数据库字符集常量 define('DB_USER','root');//定义数据库连接用户名常量 define('DB_PASS','root');//定义数据库连接密码常量 define('DB_NAME','test');//定义数据库名称常量 define('DB_DSN',DB_TYPE.':host='.DB_HOST.';port='.DB_PORT.';dbname='.DB_NAME.';charset='.DB_CHARSET);//定义DSN常量 try{ $pdo = new PDO(DB_DSN,DB_USER,DB_PASS,[PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING]); //设置sql语句查询如果出现问题 就会抛出异常如下单独设置也可以 //$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(Exception $e){ echo $e->getMessage(); }catch(Throwable $e){ echo $e->getMessage(); } //查询数据 $state = $pdo->query("select * from admin_user where id = 1"); //query执行一条SQL语句,如果通过,则返回一个PDOStatement对象,可以直接遍历这个返回的记录集 (query用于select) $res = $state->fetch(PDO::FETCH_ASSOC); // 获取结果集中的一行数据 $res = $state->fetchAll(PDO::FETCH_ASSOC); //获取结果集中的所有数据 //添加数据 $row1 = $pdo->exec("insert into admin_user(user_name, password) values('jack', 'adsfadf')"); //exec主要执行没有返回结果集的操作 PDO::exec执行一条SQL语句, //并返回受影响的行数。此函数不会返回结果集合.。 //(exec用于insert、delete、update) //修改数据 $row2 = $pdo->exec("update admin_user set user_name = 'peter' where user_id = 50"); //删除数据 $row3 = $pdo->exec("delete from admin_user where user_id = 50"); var_dump($res,$row1,$row2,$row3); //预处理(防止SQL注入) $state = $pdo->prepare("select * from tp_admin_user where user_id = ?"); $state->execute([2]); //绑定参数 $row = $state->fetch(PDO::FETCH_ASSOC); // 获取结果集中的一条 $rows = $state->fetchAll(PDO::FETCH_ASSOC); // 获取结果集中的所有 echo "<pre>"; var_dump($rows); ?>
RELATED RECOMMEND
2020-10-30
MySQL支持外键(foreign key),外键允许跨表交叉引用相关数据,另外外键约束能够保证相关数据的一致性。一个外键关系通常包括一个父表和一个子表。父表包含原始的字段数据,子表引用父表中该字段的数据,外键约束定义在子表上。1. 外键定义的语法通常在create table和alter table语句中定义外键约束,基本语法如下:[CONSTRAINT [symbol]] FOREIGN KE
2020-10-30
常用命令:启动MySQL服务:net start mysql停止MySQL服务:net stop mysql登录数据库:mysql -u db_name -p“-u”表示用户名“-p”表示密码“–h localhost”可省略“-h”表示服务器名,localhost指本机“-P 3306”表示默认端口号,可省略退出数据库exitquit\q显示当前服务器版本:SELECT VERSION();显示
2020-10-30
PHP通过mysqli连接mysql数据库数据库连接的天龙八步:1、连接数据库连接:mysqli_connect2、成功与否判断连接错误号:mysqli_connect_errno连接错误信息:mysqli_connect_error3、选择数据库选择库:mysqli_select_db执行错误号:mysqli_errno执行错误信息:mysqli_error4、设置字符集mysqli_set_c
Copyright © 2012-2024 世敏网络 版权所有 闽ICP备18026760号-1 闽公网安备 35020502000640号 网站地图 Sitemap 关键词聚合