zoukankan      html  css  js  c++  java
  • 适配器模式(数据库方面)支持不同的数据库连接

    <?php

    define("BASDIR",__DIR__);
    include BASDIR."/Phpclass/Loader.php";
    spl_autoload_register("\Phpclass\Loader::autoload_rege");


    $mysqli= new PhpclassDatabasesMysqlis();

    $mysqli->connect("localhost","root","root","nfyx");

    $sql="select name from test where id>0";
    $res=$mysqli->query($sql);


    foreach ($res as $row)
    {
    echo $row['name']." ";
    }

    $mysqli->close();

    $mysqli= new PhpclassDatabasesPDOS();

    $mysqli->connect("localhost","root","root","nfyx");

    $sql="select name from test where id>0";
    foreach ($mysqli->query($sql,PDO::FETCH_ASSOC) as $row)
    {
    print_r($row);
    }

    $mysqli->close();
    -------------------------------------------------------------------Index2.php

    <?php

    namespace PhpclassDatabases;
    use mysqli;

    class Mysqlis implements PhpclassIDatabase
    {
    static protected $conn;
    function connect($host, $user, $passwd, $db)
    {
    self::$conn = new mysqli($host,$user,$passwd,$db);

    if (self::$conn->connect_errno)
    {
    die("连接数据库失败".self::$conn->connect_error);
    }
    }

    function query($sql)
    {
    return self::$conn->query($sql);
    }
    function close()
    {
    self::$conn=null;
    }

    }

    -------------------------------------------------------------------Mysqlis.php

    <?php
    namespace PhpclassDatabases;
    use PDO;

    class PDOS implements PhpclassIDatabase
    {
    static protected $conn;
    function connect($host, $user, $passwd, $db)
    {
    try {

    self::$conn = new PDO("mysql:host=$host;dbname=$db", $user, $passwd);

    } catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    }
    }

    function query($sql)
    {
    return self::$conn->query($sql);
    }
    function close()
    {
    self::$conn=null;
    }

    }
    
    
    -------------------------------------------------------------------PDOS.php
     
     



  • 相关阅读:
    分治法(求最大子序列和)
    分治法(二分查找)
    自定义选择动画提示
    将图片转为二进制字符串
    根据尺寸压缩图片
    在ios7系统下,scrollView下移20像素
    UIActionSheet警告,提示调用showFromTabBar方法
    使用Xcode5开发时的icon取消高光效果
    duplicate symbol _OBJC_METACLASS_$ 报错记录
    self.view添加UIView时添加动画
  • 原文地址:https://www.cnblogs.com/nfyx/p/10744274.html
Copyright © 2011-2022 走看看