php - Error mysqli_select_db -


hello went wrong in connection?

warning: mysqli_select_db() expects 2 parameters, 1 given in /home/controle/public_html/trabd01/classesbd.php on line 31

define("servidor_bd", "localhost"); define("usuario_bd", "usuario"); define("senha_bd", "senha"); define("banco_de_dados", "dados");   class conecta {         function conecta($servidor="", $bancodedados="", $usuario="", $senha=""){             if (($servidor == "") && ($usuario == "") && ($senha == "") && ($bancodedados == "")){                 $this->bancodados = mysqli_connect(servidor_bd, usuario_bd, senha_bd) or trigger_error(mysqli_error(),e_user_error);                 $this->database_bancodados = banco_de_dados;             } else {                 $this->bancodados = mysqli_connect($servidor, $usuario, $senha) or trigger_error(mysqli_error(),e_user_error);                 $this->database_bancodados = $bancodedados;             }         }         }      class consultar {          var $bd;         var $res;         var $row;         var $nrw;         var $data;          function executa($sql=""){             if($sql==""){                 $this->res =  0; // pointer result of executed query                 $this->nrw =  0; // line number query returned, cruise control                 $this->row = -1; // array of current query line             }             // connects database                   $bd = new conecta();                $bd->conecta();                            mysqli_select_db(banco_de_dados, $bd->bancodados);/*errorhere*/                $this->res = mysqli_query($sql, $bd->bancodados);                $this->nrw = @mysqli_num_rows($this->res);              $this->row = 0;             if($this->nrw > 0)                 $this->dados();         }          function primeiro(){             $this->row = 0;             $this->dados();         }          function proximo(){             $this->row = ($this->row<($this->nrw - 1)) ?                             ++$this->row:($this->nrw - 1);             $this->dados();         }          function anterior(){             $this->row = ($this->row > 0) ? -- $this->row:0;             $this->dados();         }                  function ultimo(){             $this->row = $this->nrw-1;             $this->dados();         }          function navega($linha){             if($linha>=0 , $linha<$this->nrw){                 $this->row = $linha;                 $this->dados();             }         }          function dados(){             mysqli_data_seek($this->res, $this->row);             $this->data = mysqli_fetch_array($this->res);         }     } 

in mysqli_ connection comes first.

you have:

mysqli_select_db(banco_de_dados, $bd->bancodados);/*errorhere*/ $this->res = mysqli_query($sql, $bd->bancodados); 

when should read as, , inverse those:

mysqli_select_db($bd->bancodados, banco_de_dados); $this->res = mysqli_query($bd->bancodados, $sql); 

references:

plus, check errors on query also:

add error reporting top of file(s) find errors.

<?php  error_reporting(e_all); ini_set('display_errors', 1);  // rest of code 

sidenote: displaying errors should done in staging, , never production.


nota:

the @ symbol in @mysqli_num_rows error suppressor. may want remove during testing.


Comments