平时积累3

来源:互联网 发布:韩火火淘宝店的模特 编辑:程序博客网 时间:2024/05/26 02:55
PDO一是PHP数据对象(PHP Data Object)的缩写。


并不能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的PDO驱动)访问数据库服务器。
PDO并不提供数据库抽象,它并不会重写SQL或提供数据库本身缺失的功能,如果你需要这种功能,你需要使用一个更加成熟的抽象层。
PDO需要PHP5核心OO特性的支持,所以它无法运行于之前的PHP版本。
PHP5.1以上版本中:




1.PDO简介 
PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。 
PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助 
2.PDO配置 
PHP.ini中,去掉"extension=php_pdo.dll"前面的";"号,若要连接数据库,还需要去掉与PDO相关的数据库扩展前面的";"号,然后重启Apache服务器即可。 
extension=php_pdo.dll 
extension=php_pdo_mysql.dll 
extension=php_pdo_pgsql.dll 
extension=php_pdo_sqlite.dll 
extension=php_pdo_mssql.dll 
extension=php_pdo_odbc.dll 
extension=php_pdo_firebird.dll 
...... 
3.PDO连接mysql数据库 
new PDO("mysql:host=localhost;dbname=db_demo","root",""); 
默认不是长连接,若要使用数据库长连接,需要在最后加如下参数: 
new PDO("mysql:host=localhost;dbname=db_demo","root","","array(PDO::ATTR_PERSISTENT => true) "); 
4.PDO常用方法及其应用 
PDO::query() 主要是用于有记录结果返回的操作,特别是SELECT操作 =>DML
PDO::exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作  =>DQL   不带条件 
PDO::lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID  =>DQL   带条件
PDOStatement::fetch() 是用来获取一条记录 
PDOStatement::fetchAll() 是获取所有记录集到一个中 
5.PDO操作MYSQL数据库实例 




复制代码 代码如下:


 
<?php 
$pdo = new PDO("mysql:host=localhost;dbname=db_demo","root",""); 
if($pdo -> exec("insert into db_demo(name,content) values('title','content')")){ 
echo "插入成功!"; 
echo $pdo -> lastinsertid(); 

?> 








复制代码 代码如下:


 
<?php 
$pdo = new PDO("mysql:host=localhost;dbname=db_demo","root",""); 
$rs = $pdo -> query("select * from test"); 
while($row = $rs -> fetch()){ 
print_r($row); 

?> 




php操作mysql数据库的步骤?
  打开连接
连接到指定的数据库
设置字符编码
发送sql执行
执行sql语句释放结果集
关闭数据库连接






模板引擎


模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
模板引擎不属于特定技术领域,它是跨领域跨平台的概念。




Smarty


Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。


优点
1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
3. 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
不适合使用Smarty的地方
需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。
小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。
0 0
原创粉丝点击