Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda na substituição do mysql por msqli


jayakirtana

Pergunta

Ao tentar modificar do mysql para o mysqli estou tendo dificuldades.

O conteúdo do site não é puxado mais do db e estou tendo essa msg de erro....
 

Notice: Undefined variable: val in C:\wamp64\www\adrianaamaral.com.br\lib\class.DbAdmin.php on line 53

 

<?php class DbAdmin {
    private $tipo;
    private $conn;
    public function DbAdmin($tipo) {
        $this->tipo = $tipo;
    }
    public function connect($host, $user, $pass, $base) {
        switch ($this->tipo) {
            case 'mysql':
                $this->conn = mysqli_connect($host, $user, $pass);
                mysqli_select_db($this->conn, $base);
            break;
            case 'pgsql':
                $string = 'host=' . $host . ' port=5432 dbname =' . $base . ' user=' . $user . ' password=' . $pass;
                $this->conn = pg_connect($string);
            break;
        }
    }
    public function query($sql) {
        switch ($this->tipo) {
            case 'mysql':
                $res = mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn));
            break;
            case 'pgsql':
                $res = pg_query($this->conn, $sql) or die('bug');
            break;
        }
        return $res;
    }
    public function rows($res) {
        switch ($this->tipo) {
            case 'mysql':
                $num = mysqli_num_rows($res);
            break;
            case 'pgsql':
                $num = pg_num_rows($res);
            break;
        }
        return $num;
    }

//Acredito que o problema esteja aqui abaixo


    public function result($res, $lin, $col) {
        switch ($this->tipo) {
            case 'mysqli':
                $val = mysqli_result($res, $lin, $col);
            while($val = mysqli_fetch_assoc($result)) {
                printf ($res, $lin, $col);
                    }
            break;
            case 'pgsql':
                $val - pg_fetch_result($res, $lin, $col);
            break;
        }
        return $val;  //Essa é a linha 53
    }
    

    public function lastid($res) {
        switch ($this->tipo) {
            case 'mysql':
                $num = mysqli_insert_id($this->conn);
            break;
            case 'pgsql':
            break;
        }
    }
    public function close($res) {
        switch ($this->tipo) {
            case 'mysql':
                mysqli_close($this->conn);
            break;
            case 'pgsql':
                pg_close($this->conn);
            break;
        }
    }
};

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá!
Encontrei na doc do php, que mysqli_result não existe.
E lá mesmo, uma boa alma, chamada tuxedobob dá uma dica de como criar essa função, caso alguém 9 anos atrás, estivesse migrando do obsoleto mysql pro mysqli. Veja em: https://www.php.net/mysqli_result

Segue screenshot pra facilitar sua leitura:
image.png.4106eea0c78b43735c9ed896b2e2887f.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...