Jump to content
Biel.

mysqli_connect não conecta

Recommended Posts

Olá pessoal. Direto ao ponto. Instalei no debian 10 via terminal putty  Apache/2.4.38 ,  PHP: php7.3 ,  mysql 5.7 , adminer e tudo ocorreu bem, mas tem um problema: Não consigo fazer conexão com o BD bancoteste que já foi criado. Será que tem que habilitar e/ou adicionar alguma coisa no php.ini, instalar , atualizar ou fazer qualquer outra manobra para que a conexão dê certo?  Porque o código abaixo está correto, mas não conecta. Alguém tem alguma idéia do que pode ser? Obrigado !

<?php 
$dbServerName	= '555.444.333.222';  # IP DO HOST online
$dbUserName 	   	= 'root'; 
$dbPassword      	= '';   
$dbName          	= 'bancoteste'; 

$con = mysqli_connect($dbServerName, $dbUserName, $dbPassword,  $dbName );

if ($con!=true) {
	echo 'NÃO CONECTOU';
}

else{
 echo 'DEU CERTO - CONEXAO OK ! ';
 }
?>

 

Share this post


Link to post
Share on other sites

Não mecho com mysql, tente verificar se é erro mesmo:

var_dump( mysqli_errno() );

 

Lógico que isso vem depois da conexão ser lançada e todos erros na aplicação devem ser habilitados e nenhum tipo de ofuscação deve ser usado exemplo:

@$alguma_coisa = .....

Share this post


Link to post
Share on other sites
15 horas atrás, Omar~ disse:

Não mecho com mysql, tente verificar se é erro mesmo:

var_dump( mysqli_errno() );

No meu pc localhost, o código que faz o teste de conexão com bancoteste está correto e funciona normalmente sem erro, mas online não conecta e não apresenta erro. Não sei se tem que alterar alguma coisa no php.ini  ou fazer qualquer outra manobra . 

 

Share this post


Link to post
Share on other sites

@Biel., tente utilizar localhost ao invés do IP externo da máquina.

 

Existem configurações que podem impedir a conexão pelo IP externo por segurança e uma vez que seu código está rodando na mesma máquina que o banco de dados é o mesmo princípio de você testar na sua máquina de desenvolvimento, onde você utiliza "localhost".

Share this post


Link to post
Share on other sites

Além do que o Matheus disse, não sei quem instalou o sql na máquina e nem como instalou.

Nesse caso em uma hospedagem na grande maioria dos casos justamente por medidas de segurança sobre o usuário root pode acontecer as algumas situações:

  • Usuário root existe, mas não tem acesso nem a leitura do banco de dados.
  • Usuário root existe, mas tem senha de acesso ao  do banco de dados.
  • Usuário root não existe.

De qualquer forma se essa função fazer o que deveria fazer mysqli_errno() alertaria sobre quaisquer eventuais problemas de conexão o que inclui o caso do usuário.

 

NOTA*

Spoiler

Pode não ser o caso, mas ha muito aconteceu comigo (em ambiente local), atualizei a versão do Ubuntu na máquina... Desde então toda vez que tentava conectar ao banco de dados falhava, simplesmente a conexão não funcionava não importando o que eu fizesse.

Depois de muito pesquisar procurar tentei inumeradas alternativas para fazer a coisa andar. Foi então que descobrir por conta própria que o problema estava no código fonte do sistema operacional.

Assim sendo formatei a máquina com uma versão mais antiga do SO e tudo se normalizou.

Como disse pode não ser o caso, mas desde então quando aconteceu comigo fico alerta a anomalias que o SO pode apresentar.

Não digo para você formatar a máquina aí! Apenas olhar a coisa com cautela e não descartar um pouco provável problema do sistema operacional.

 

Share this post


Link to post
Share on other sites
23 horas atrás, Biel. disse:

Olá pessoal. Direto ao ponto. Instalei no debian 10 via terminal putty  Apache/2.4.38 ,  PHP: php7.3 ,  mysql 5.7 , adminer e tudo ocorreu bem, mas tem um problema: Não consigo fazer conexão com o BD bancoteste que já foi criado. Será que tem que habilitar e/ou adicionar alguma coisa no php.ini, instalar , atualizar ou fazer qualquer outra manobra para que a conexão dê certo?  Porque o código abaixo está correto, mas não conecta. Alguém tem alguma idéia do que pode ser? Obrigado !


<?php 
$dbServerName	= '555.444.333.222';  # IP DO HOST online
$dbUserName 	   	= 'root'; 
$dbPassword      	= '';   
$dbName          	= 'bancoteste'; 

$con = mysqli_connect($dbServerName, $dbUserName, $dbPassword,  $dbName );

if ($con!=true) {
	echo 'NÃO CONECTOU';
}

else{
 echo 'DEU CERTO - CONEXAO OK ! ';
 }
?>

 

 

Quer testar a conexão com  o banco  de dados e retorna ok

 

Tente assim

<?php
$dbServerName	 = 'localhost';  # IP DO HOST online
$dbUserName      = 'root'; 
$dbPassword      = '';   
$dbName          = 'bancoteste'; 

$con = mysqli_connect($dbServerName, $dbUserName, $dbPassword,  $dbName );


if(!$con){
  die("Falha na conexao: " . mysqli_connect_error());
}else{
  echo "
  <script type="text/javascript">
  alert("Conexao realizada com sucesso com o bancoteste .");
  </script>";
}

?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. O código abaixo captura o texto digitado no campo textarea. Até aqui tudo ok.  Podemos ver o resultado teclando f12 e depois ir na aba elements
      Como capturar tag br ao teclar enter e exibindo na aba elements este resultado:
      texto qualquer  <br>
      vamos com calma  <br>
      tranquilidade sempre  <br>
      <textarea name="textodigitado" id="textodigitado" onkeydown='eventoDoTeclado()' ></textarea> <script> //var capturar = ""; function eventoDoTeclado () { var capturar = document.getElementById('textodigitado').value; document.getElementById('textodigitado').innerHTML = capturar; //var br = document.createElement("<br>"); //var br = document.createElement('br'); } </script>  
    • By Biel.
      Olá pessoal. Como remover comentários css de forma eficiente e imprimir somente o conteúdo?  Vejam:
       
      $comentario="body{ background-color:#EBEBEB; /* #D41FFF */ } .divA{ max-width:1024px; /* 1024px 1100px */ z-index:1; } .divB{ max-width:600px; /*500px*/ position:fixed; /* comentário css com quebra de linha */ z-index:1; } "; //$comentario = preg_replace('/\/\*[^>]*\*\//', '', $comentario); // comentario css $comentario = preg_replace('/\/*[^>]*\//', '', $comentario); // comentario css echo $comentario; ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto.  Abaixo temos EX1  e EX2  .  Ex1 ao teclar f12 na pagina1 altera normalmente na pagina2  textoA  para textoB
      Como obter o mesmo resultado no EX2 ou seja  teclar f12 na pagina4 e alterar na pagina5  alunoA  para alunoB
      EX1
      esta é a página1.php com seu contéudo <?php $fp = fopen('pagina2.php', 'c'); fwrite($fp, 'textoB' ); //unlink($fp); //feof($fp); //fclose($fp); ?> esta é a pagina2.php com seu contéudo textoA vamos com valma ..
      EX2
      esta é a página4.php com seu contéudo <?php $fp = fopen('pagina2.php', 'c'); //$fp = rename($fp,"xxxxx" , "xxxxx"); //$fh = rename("xxxxx" , "xxxxx"); ?> esta é a pagina5.php com seu contéudo vamos com alunoA na ofensiva e com força  
    • By Biel.
      Olá pessoal. Direto ao ponto. Dentro da pastaPrincipal temos pasta1 ,  teste.php e aplicativo.php  . Quando teclo f12 em teste.php renomeia normalmente aplicativo.php para software.php  . Como renomear  aplicativo.php para software.php que porventura também exista na pasta1 ?
       
      caminho C:\Apache24\htdocs\pastaPrincipal \pasta1\
      esta é a pagina teste.php que está na pastaPrincipal  <?php $caminho="C:/Apache24/htdocs/pastaPrincipal/pasta1"; @$file = rename("aplicativo.php" , "software.php"); echo "renomeou"; ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Renomear arquivo6.php para arquivo7.php 
      caminho C:/Apache24/htdocs/pastaPrincipal/ 
      Ex2 <?php if(isset($_POST['enviar'])){?> <?php @$nome1 = $_POST["nome1"]; @$nome1 = rename($nome1); @$nome2 = ($_POST['nome2']); echo "renomeou"; ?> <?php }?> <form action="" method="post" > renomear pasta - testando<br> <input type="text" name="nome1" ><br> <input type="text" name="nome2" > <input type="submit" name="enviar" value="ok"> </form>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.