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

Se eu não conseguir abrir o banco de dados, existe outra opção além de chorar?


Frank K Hosaka

Pergunta

O meu código no menu.php é assim:

//$mysqli=new mysqli("localhost","396882","1234","396882");
$mysqli=new mysqli("localhost","root","","diario");

Hoje eu fiz uma adaptação do css do bootstrap 5.2 para melhorar o visual do meu menu, e consegui. Para atualizar a minha nova versão, fui até o hospedeiro e de lá copiei o novo arquivo menu.php. Só que eu não consegui abrir o banco de dados. Precisei editar o menu.php do hospedeiro, tirei o comentário de uma linha e coloquei o comentário na outra linha.

Isso é uma chatice!

Para resolver isso, eu montei a seguinte gambiarra:

try{$mysqli=new mysqli("localhost","396882","10451128","396882");}
catch(Exception $e){$mysqli=new mysqli("localhost","root","","diario");}

Mas, não deu certo.

Existe outra opção além de chorar, se eu não conseguir abrir o banco de dados?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1

Há algumas formas de ser fazer isso.
Uma excelente é criar ambientes de desenvolvimento, homologação e produção. Fica bem organizado.
por hora, segue sugestão:
A superglobal $_SERVER tem uma informação que diz em que servidor o arquivo .php está.
proceda assim:

// variáveis para conexão no ambiente de produção

$host     = 'localhost';   
$user     = 'user-do-database';        
$pass     = 'my-pass';
$database = 'database-name-no-server';

// mas se estiver no server com nome localhost
if ($_SERVER['SERVER_NAME'] == 'localhost') {
// então algumas variáveis terão outros valores
    $user     = 'root';        
    $pass     = '';
    $database = 'script_brasil';
}

// estabelecer conexão:
  $sqli = new mysqli($host, $user, $pass);

// verificando se conectou de boas:
  if ($sqli->connect_error) {
    // se houver alguma falha, exibe mensagem:
    die('<p class="text-danger">Falha na conexão: ' . $sqli->connect_error . '</p>');
  }


para ver o conteúdo da superglobal $_SERVER:

echo '<pre>$_SERVER: ';
print_r($_SERVER);
echo '</pre>';
die(__FILE__ . ' at line: ' . __LINE__);

 

Editado por lowys
Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, lowys disse:

Há algumas formas de ser fazer isso.
Uma excelente é criar ambientes de desenvolvimento, homologação e produção. Fica bem organizado.
por hora, segue sugestão:
A superglobal $_SERVER tem uma informação que diz em que servidor o arquivo .php está.
proceda assim:

// variáveis para conexão no ambiente de produção

$host     = 'localhost';   
$user     = 'user-do-database';        
$pass     = 'my-pass';
$database = 'database-name-no-server';

// mas se estiver no server com nome localhost
if ($_SERVER['SERVER_NAME'] == 'localhost') {
// então algumas variáveis terão outros valores
    $user     = 'root';        
    $pass     = '';
    $database = 'script_brasil';
}

// estabelecer conexão:
  $sqli = new mysqli($host, $user, $pass);

// verificando se conectou de boas:
  if ($sqli->connect_error) {
    // se houver alguma falha, exibe mensagem:
    die('<p class="text-danger">Falha na conexão: ' . $sqli->connect_error . '</p>');
  }


para ver o conteúdo da superglobal $_SERVER:

echo '<pre>$_SERVER: ';
print_r($_SERVER);
echo '</pre>';
die(__FILE__ . ' at line: ' . __LINE__);

 

Deu certo!!!!!!

Fiz assim:

 

if($_SERVER['SERVER_NAME']=="localhost"){$mysqli=new mysqli("localhost","root","","diario");} else {
           $mysqli=new mysqli("localhost","396882","1234","396882");}

Isso não parece fazer sentido, mas o SERVER_NAME do PC é localhost, mas o do hospedeiro é frankhosaka.orgfree.com.

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,3k
×
×
  • Criar Novo...