将此特定的mysql bd类转换为mysqli

时间:2017-03-16 21:21:29

标签: php mysql class mysqli

你能帮我完全转换这个类与mysqli一起工作吗? 它是一个处理旧系统的类,我只想让它与mysqli一起工作而不必修改所有系统上的现有代码。

我试过但没有成功。

提前致谢!

class BD {

    var $sServidor = "host";
    var $sBaseDeDatos = "DB";
    var $sUsuario = "user";
    var $sClave = "pass";

    function Conectar() {
        if (($this->sServidor != "") && ($this->sUsuario != "")) {
            $this->oConexion = mysql_connect($this->sServidor, $this->sUsuario, $this->sClave);
            mysql_select_db($this->sBaseDeDatos, $this->oConexion);
            mysql_set_charset("utf8", $this->oConexion);
        }
    }

    function RetornarConexion() {
        return $this->oConexion;
    }

    function Seleccionar($pSQL, $pRetornarFila = false) {
        $oResultado = $this->Ejecutar($pSQL);
        return (($pRetornarFila) ? $this->RetornarFila($oResultado) : $oResultado);
    }

    function RetornarFila($pResultado) {
        return mysql_fetch_array($pResultado);
    }

    function ContarFilas($pResultado) {
        $lFilas = 0;
        if ($pResultado) {
            $lFilas = mysql_num_rows($pResultado);
        }
        return $lFilas;
    }

    function Ejecutar($pSQL) {
        $this->Conectar();
        $oResultado = mysql_query($pSQL, $this->oConexion);
        if ($oResultado) {
            if (strpos(strtoupper($pSQL), "INSERT INTO") !== false) {
                $oResultado = mysql_insert_id();
            } else if (strpos(strtoupper($pSQL), "UPDATE") !== false) {
                $oResultado = mysql_affected_rows();
            }
        }
        return $oResultado;
    }

    function RetornarTipo($pResultado, $pCampo) {
        $sTipo = "";
        if ($pResultado) {
            $sTipo = mysql_field_type($pResultado, $pCampo);
        }
        return $sTipo;
    }

    function RetornarLongitud($pResultado, $pCampo) {
        $lLongitud = 0;
        if ($pResultado) {
            $lLongitud = mysql_field_len($pResultado, $pCampo);
        }
        return $lLongitud;
    }

    function Desconectar() {
        mysql_close($this->oConexion);
    }

}

1 个答案:

答案 0 :(得分:-1)

好的,我正在测试它并认为它可以正常工作。这是代码: P / D:很抱歉浪费你的时间。结论:我每天要睡几个小时。再次感谢和抱歉。

class BD {

var $sServidor = "host";
var $sBaseDeDatos = "DB";
var $sUsuario = "user";
var $sClave = "pass";

    function Conectar() {
        if (($this->sServidor != "") && ($this->sUsuario != "")) {
            $this->oConexion = mysqli_connect($this->sServidor, $this->sUsuario, $this->sClave);
            mysqli_select_db($this->oConexion, $this->sBaseDeDatos);
            mysqli_set_charset($this->oConexion, "utf8");
        }
    }

    function RetornarConexion() {
        return $this->oConexion;
    }

    function Seleccionar($pSQL, $pRetornarFila = false) {
        $oResultado = $this->Ejecutar($pSQL);
        return (($pRetornarFila) ? $this->RetornarFila($oResultado) : $oResultado);
    }

    function RetornarFila($pResultado) {
        return mysqli_fetch_array($pResultado);
    }

    function ContarFilas($pResultado) {
        $lFilas = 0;
        if ($pResultado) {
            $lFilas = mysqli_num_rows($pResultado);
        }
        return $lFilas;
    }

    function Ejecutar($pSQL) {
        $this->Conectar();
        $oResultado = mysqli_query($this->oConexion, $pSQL);
        if ($oResultado) {
            if (strpos(strtoupper($pSQL), "INSERT INTO") !== false) {
                $oResultado = mysqli_insert_id($this->oConexion);
            } else if (strpos(strtoupper($pSQL), "UPDATE") !== false) {
                $oResultado = mysqli_affected_rows($this->oConexion);
            }
        }
        return $oResultado;
    }

    function RetornarTipo($pResultado, $pCampo) {
        $sTipo = "";
        if ($pResultado) {
            $sTipo = mysqli_field_type($pResultado, $pCampo);
        }
        return $sTipo;
    }

    function RetornarLongitud($pResultado, $pCampo) {
        $lLongitud = 0;
        if ($pResultado) {
            $lLongitud = mysqli_field_len($pResultado, $pCampo);
        }
        return $lLongitud;
    }

    function Desconectar() {
        mysqli_close($this->oConexion);
    }

}