- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的服务器维护,企业网站维护,网站维护服务
- (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
 
  
    
| 作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0 | 
   t"; 
 $db = new PDO($dsn, ’root’, ’’); 
 $count = $db->exec("INSERT INTO foo SET name = ’heiyeluren’,gender=’男’,time=NOW()"); 
 echo $count; 
 $db = null; 
 ?> 
不明白啥意思,俺们来慢慢讲讲。这行: 
$dsn = "mysql:host=localhost;dbname=test"; 
就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就这么几个信息。不同数据库的数据源构造方式是不一样的。 
$db = new PDO($dsn, ’root’, ’’); 
初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码。我们不能保证连接成功,后面我们会讲到异常情况,这里我们姑且认为它是连接成功的。 
$count = $db->exec("INSERT INTO foo SET name = ’heiyeluren’,gender=’男’,time=NOW()"); 
echo $count; 
调用我们连接成功的PDO对象来执行一个查询,这个查询是一个插入一条记录的操作,使用PDO::exec() 方法会返回一个影响记录的结果,所以我们输出这个结果。最后还是需要结束对象资源: 
$db = null; 
默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样: 
$db = new PDO($dsn, ’root’, ’’, array(PDO::ATTR_PERSISTENT => true)); 
一次操作就这么简单,也许跟以前的没有太大区别,跟ADOdb倒是有几分相似。 
【继续了解】 
如果我们想提取数据的话,那么就应该使用数据获取功能。(下面用到的$db都是上面已经连接好的对象) 
 <?php 
 foreach($db->query("SELECT * FROM foo")as $row){ 
     print_r($row); 
 } 
 ?> 
我们也可以使用这种获取方式: 
 <?php 
 $rs = $db->query("SELECT * FROM foo"); 
 while($row = $rs->fetch()){ 
     print_r($row); 
 } 
 ?> 
如果想一次把数据都获取到数组里可以这样: 
 <?php 
 $rs = $db->query("SELECT * FROM foo"); 
 $result_arr = $rs->fetchAll(); 
 print_r($result_arr); 
 ?> 
输出: 
 Array 
 ( 
      [0] => Array 
          ( 
              [id] => 1 
              [0] => 1 
              [name] => heiyeluren 
              [1] => heiyeluren 
              [gender] => 男 
              [2] => 男 
              [time] => 2006-10-28 23:14:23 
              [3] => 2006-10-28 23:14:23 
          ) 
 } 
我们看里面的记录,数字索引和关联索引都有,浪费资源, 
| 我要申请本站:N点 | 黑客防线官网 | | 
| 专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |