pear Bb库

都说pear库挺强大的,今天研究了一下代码,感觉好多地方还不是很完善,自己又把需要信息的整合了一下。

封装了一个查询库,这个函数库的主要思想是一行代码完成所有查询,并且返回结果都是四种(insert,update ,select,update)不同类型的合适需要的结果!

  1. <?php
  2. //pear 扩展
  3. require_once 'DB.php';
  4. $user = 'root';
  5. $pass = '123456';
  6. $host = '127.0.0.1';
  7. $db_name = 'mysql';
  8. $dsn = "mysql://$user:$pass@$host/$db_name";
  9. function excute_sql($sql)
  10. {
  11.     global $dsn;
  12.     $db = DB::connect($dsn);
  13.     if (DB::isError($db))
  14.     {
  15.         die ($db->getMessage());
  16.     }
  17.     $result = $db->query($sql);
  18.     if (DB::isError($result))
  19.     {
  20.         die ($result->getMessage());
  21.     }
  22.     $key_word = strtolower(substr(trim($sql),0,6));
  23.     //查询
  24.     if($key_word=='select')
  25.     {
  26.         //$res 返回数组
  27.         while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
  28.         {
  29.             $res[] = $row;
  30.         }
  31.         //如果存在结果集,释放结构集
  32.         if(is_array($res))
  33.         {
  34.             $result->free();
  35.         }
  36.     }
  37.     else if($key_word=='update' || $key_word=='delete')
  38.     {
  39.         //返回修改的行数
  40.         $res = $db->affectedRows();
  41.     }
  42.     else if ($key_word=="insert")
  43.     {
  44.         //返回刚刚插入的id;
  45.         $res = @mysql_insert_id($db->connection);
  46.     }
  47.     /*
  48.     //结果集
  49.     print_r($array_res);
  50.     //自增长索引id 若无表auto_inc_seq 自动创建auto_inc_seq
  51.     echo  $db->nextID('auto_inc');
  52.     //可以这样计算记录数
  53.     echo  "row_num:".$result->numRows();
  54.     if (DB::isError($result))
  55.     {
  56.         die ($result->getMessage());
  57.     }
  58.      */
  59.     //print_r($id);
  60.     $db->disconnect();
  61.     return $res;
  62. }
  63. /*
  64. //测试查询
  65. $sql = "select * from user";
  66. print_r(excute_sql($sql));
  67. */
  68. //测试更新
  69. /*
  70. $sql = "update auto_inc_seq set id=id+1";
  71. var_dump(excute_sql($sql));
  72. */
  73. /*
  74.  //测试删除
  75. //不用添加where 1=1因为库中已经替你添加
  76. $sql = "delete from auto_inc_seq";
  77. var_dump(excute_sql($sql));
  78.  */
  79. /*
  80. //测试插入数据
  81.  */
  82. /*
  83. $sql = "insert into auto_inc_seq(id) values (313)";
  84. var_dump(excute_sql($sql));
  85.  */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值