2017-03-16 70 views
0

你能帮我完全转换这个类来使用mysqli吗? 这是一个在旧系统上工作的类,我只想使它与mysqli一起工作,而无需修改所有系统上的现有代码。把这个特定的mysql bd类转换为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); 
    } 

} 
+0

所以转换它..有什么问题吗? – meda

+0

让我有点复杂,使mysql_fetch_array部分工作 –

+2

它只是'mysqli_fetch_array()',与'mysql_fetch_array()' – Barmar

回答

-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); 
    } 

}