Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dian Carlos

SELECT MySQLi não funciona dentro de função

Recommended Posts

Boa tarde galera.

Tenho esse arquivo de configuração para uma aplicação:

$MySQLi = new mysqli('localhost', 'newuser', 'wampp', 'siteadmin');

  if (mysqli_connect_errno()) {
	  die('Não foi possível conectar-se ao banco de dados: ' . mysqli_connect_error());
	  exit();
  }
$MySQLi->set_charset('utf8');

require_once 'info.php';
require_once 'functions.php';

 

Ai fiz uma função para verificar se a tabela no banco de dados existe, mas, não funciona por causa da conexão com o banco. A função está dentro do arquivo functions.php

 

function verificaTabela($tabela) {

    if (!($MySQLi->query('SELECT * FROM `' . $tabela . '`'))) {

        $file = $sql;
		
        $op = fopen('sql/' . $file, 'r');
        $conteudo = fread($op, filesize($file));
		
        while (!feof($op)) {
			
            $conteudo = fgets($op, 4096);
            $sql = $MySQLi->query($conteudo) OR trigger_error(SA_showError('Ocorreu um erro na criação da tabela no banco de dados.', $MySQLi->error, E_USER_ERROR));
			
        }
        fclose($op);
    }
}

 

Esse é o erro que retornado:

 

Notice: Undefined variable: MySQLi inC:\xampp\htdocs\desenvolvimento\SiteAdminMaster\admin\admin\inc\functions.php on line 116

Fatal error: Call to a member function query() on a non-object inC:\xampp\htdocs\desenvolvimento\SiteAdminMaster\admin\admin\inc\functions.php on line 116

 

O que devo fazer para a conexão funcionar dentro da função?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou passar como parametro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no codigo q vc passou $tabela é um parametro.

 

function verificaTabela($tabela) {

 

 

 

vc pode olhar esses link que vão te dar uma visão geral

 

http://br2.php.net/manual/pt_BR/functions.arguments.php
http://br2.php.net/manual/pt_BR/functions.user-defined.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi e nem precisei ler os links.

 

Deixei a função assim:

function verificaTabela($tabela, $MySQLi) {

 

 

e quando chamo ela deixo assim:

 

require_once '../../inc/conf.php';

$verificaTabela = verificaTabela('utreinamentos', $MySQLi);

 

Testei e deu certo. Valew @Alaerte e @shini pelas respostas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma lida nos link tem coisas bem interessantes la.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.