【问题标题】:Mixing PDO and MySQL Functions?混合 PDO 和 MySQL 函数?
【发布时间】:2012-09-23 11:20:38
【问题描述】:

在现有系统上,它使用旧的 MySQL 函数。我想将其全部替换为 PDO,但这需要很长时间和大量测试。

是否可以在现有系统上混合使用 PDO 和 MySQL 函数?比如新的pages/php文件会使用PDO...所有的旧文件暂时还是会使用旧的MySQL,会随着系统的不断更新慢慢替换掉..

【问题讨论】:

  • +1 表示努力切换到 pdo。

标签: php mysql pdo


【解决方案1】:

是的,可以同时使用两者。但请记住,您需要seperate connection for either type,并注意这种方法中的implications that arise

【讨论】:

    【解决方案2】:

    我是 SO 新手,但我也遇到过这个问题。很多人觉得从mysql_*切换到PDO很麻烦。
    在我的例子中,我使用了一个单独的connection.php,它存储了连接到数据库的函数并返回了句柄

    function connect() 
    { 
        $cn = mysql_connect("localhost","username","pass" );
        $select = mysql_select_db("dbname", $cn);
        return($cn);
    }
    
    //For PDO
    function pdoconnect()
    {
        $db="";
        try
        {
            $db=new PDO("mysql:host=localhost;dbname=dbname", "username", "pass");
            $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch (PDOException $er)
        {
            print("errr".$er."<br />");
            return(1);
        }
        return($db);
    } 
    

    对于旧功能,我使用$cn=connect();
    我切换到$cn=pdoconnect(); 换新的。

    这很有效,因为我已经在旧文件中使用了connect.php

    【讨论】:

    • 当你替换 $cn=connect(); 我切换到 $cn=pdoconnect(); - 你仍然需要替换 mysql_query() 到 PDO prepare(), execute() 功能对吗?
    • 你显然是一个非常有经验的程序员,我会很高兴知道新的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多