【问题标题】:Convert this specific mysql bd class to mysqli将此特定的 mysql bd 类转换为 mysqli
【发布时间】:2017-08-08 06:31:53
【问题描述】:

你能帮我把这个类完全转换成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);
    }

}

【问题讨论】:

  • 所以转换它..有什么问题?
  • 让 mysql_fetch_array 部分工作有点复杂
  • 就是mysqli_fetch_array(),用法和mysql_fetch_array()一模一样
  • 但是如果我将$pRetornarFila 设置为true,它不适用于function Seleccionar

标签: php mysql class mysqli


【解决方案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);
    }

}

【讨论】:

    猜你喜欢
    • 2018-02-25
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2019-12-09
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多