2017-03-16 7 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

mysql_fetch_array()はmysql_fetch_array()と全く同じです。 – Barmar

答えて

-1

私はそれをテストしていて大丈夫だと思っています。コード: P/D:あなたの時間を無駄にして申し訳ありません。結論:私は1日に数時間以上寝なければならない。ありがとう、もう一度申し訳ありません。

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

} 
関連する問題