Jump to content
Igor Feliphe

ERRO NA CONEXAO COM BANCO

Recommended Posts

Olá, estou começando a desenvolver e estou estudando bastante.

estou com um projeto para escola e escolhi desenvolver uma mini plataforma de e-commerce (estou a 1 mês desenvolvendo ela)

tudo estava funcionando até que fui hospedar na web, fiz todos procedimentos, mas o único erro que é informado é

Access denied for user 'root'@'localhost' (using password: NO)

entrei em contato com o suporte da hospedagem e eles me disseram que é erro de codificação

testei em outras hospedagens, até uma paga, mas o mesmo erro, o arquivo de conexão está funcionando e sem nenhum erro.

mas quando faço ele informar os produtos que estão no banco de dados me deparo com esse erro.

ps* sou novo nessa área, faço etec e comecei a 3 meses. pode ser um erro besta, tenham calma comigo kkk

 

Arquivo de conexão

ini_set('default_charset', 'UTF-8');
$host = 'localhost';
$usuario = 'xxx'; //usuario
$senha = 'xxx'; // senha
$banco = 'xxx'; // banco
 $dsn = "mysql:host={$host};port=3307;dbname={$banco}";

try
{
    // Conectando
    $pdo = new PDO($dsn, $usuario, $senha);
}
catch (PDOException $e)
{
    // Se ocorrer algum erro na conex�o
    die($e->getMessage());
}

 

buscar o produto e informar

$result_produtos = "SELECT * FROM vw_produtos order by cd_produto asc limit 8" or die(mysql_error());
$resultado_produtos = mysql_query($result_produtos);
if (false === $resultado_produtos) {
echo mysql_error();
          } 

 

caso queiram ver o projeto hospedado.

site que foi hospedado o trabalho

Share this post


Link to post
Share on other sites

o arquivo de conexão está funcionando corretamente, tudo esta nos conformes.

mas o erro continua, em localhost funciona corretamente, mas hospedado não.

alguns amigos me disseram que é o mysql_query

ps* o arquivo de conexão esta com xxx para segurança.

Share this post


Link to post
Share on other sites

de uma olha aqui: http://rberaldo.com.br/pdo-mysql/

3 minutos atrás, BrunoBit disse:

Achei que fosse isso também, mas no caso ele ta passando o usuário e senha embaixo ali em new PDO. Será que não é essa port:3307 aí não?

eu vi depois

 

ele ta fazendo a conexao com PDO e tentando executar um mysql_query

 

Share this post


Link to post
Share on other sites

É como o Ygor falou, você ta fazendo conexão PDO, mas em outra parte do seu código ta usando mysql, manda o código aí da conexão mysql também pra gente ver.

Share this post


Link to post
Share on other sites
3 minutos atrás, BrunoBit disse:

Achei que fosse isso também, mas no caso ele ta passando o usuário e senha embaixo ali em new PDO. Será que não é essa port:3307 aí não?

 

creio que não, pois eu retirei quando fui hospedar é o suporte disse que é seria melhor deixar ali

Agora, BrunoBit disse:

É como o Ygor falou, você ta fazendo conexão PDO, mas em outra parte do seu código ta usando mysql, manda o código aí da conexão mysql também pra gente ver.

$servidor = "localhost";
$usuario 	= "xxx";
$senha 	= "xxx";
$banco = "xxx";
$link = mysql_connect($servidor, $usuario, $senha); $db = mysql_select_db($banco,$link);
if(!$link) { echo "erro ao conectar ao banco de dados!";exit(); }

 

Share this post


Link to post
Share on other sites
faz assim:


define( 'MYSQL_HOST', 'localhost' );
define( 'MYSQL_USER', 'root' );
define( 'MYSQL_PASSWORD', 'xxxxx' );
define( 'MYSQL_DB_NAME', 'xxxx' );


$PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD );

try
{
    $PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD );
}
catch ( PDOException $e )
{
    echo 'Erro ao conectar com o MySQL: ' . $e->getMessage();
}

$PDO->exec("set names utf8");

$sql = "SELECT * FROM vw_produtos order by cd_produto asc limit 8";
$result = $PDO->query( $sql );
$rows = $result->fetchAll();
 
print_r( $rows );

 

Share this post


Link to post
Share on other sites
5 minutos atrás, ygor.anjos disse:

faz assim:



define( 'MYSQL_HOST', 'localhost' );
define( 'MYSQL_USER', 'root' );
define( 'MYSQL_PASSWORD', 'xxxxx' );
define( 'MYSQL_DB_NAME', 'xxxx' );


$PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD );

try
{
    $PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD );
}
catch ( PDOException $e )
{
    echo 'Erro ao conectar com o MySQL: ' . $e->getMessage();
}

$PDO->exec("set names utf8");

$sql = "SELECT * FROM vw_produtos order by cd_produto asc limit 8";
$result = $PDO->query( $sql );
$rows = $result->fetchAll();
 
print_r( $rows );


 

testei e continua o mesmo erro, pode ver no projeto se quiser ele informou na telas array em branco

Share this post


Link to post
Share on other sites
4 minutos atrás, ygor.anjos disse:

você ja pegou com o servidor o HOST de conexao? pq com localhost hospedado você nunca vai conseguir

sim, já coloquei os dados do servidor corretamente

o arquivo hospedado

conexao.php

Edited by Igor Feliphe
esqueci algo

Share this post


Link to post
Share on other sites

Abre dois arquivos no seu servidor web, test_pdo.php e test_mysql.php , faz um teste com as 2 conexões e descobre qual que ta dando esse erro, pq de qualquer forma o ideal é você ter apenas 1 conexão, de preferência PDO, e notei que você ta usando mysql, o mysql vai ser descontinuado e não é recomendável usar, agora é mysqli, pode existir a possibilidade do seu provedor host ter desabilitado o mysql, visto que não é mais recomendável usar.

Faz um teste aí nas 2 conexões, abre 2 arquivos só pra esses testes.

Share this post


Link to post
Share on other sites
5 minutos atrás, ygor.anjos disse:

oq você esta colocando na variavel host? n pode ser localhost

o erro fala que o acesso foi negado para o usuario@dominio, ou seja, usuario root e dominio(host) localhost, servidores publicados tem o dominio proprio e não é localhost

na hospedagem foi adicionado o % no host de acesso, então creio que o localhost está correto

edit*

e se o arquivo não estivesse conectando ao banco o projeto iria exibir um erro e não iria carregar os demais códigos caso o principal não estivesse funcionando

Edited by Igor Feliphe
esqueci algo

Share this post


Link to post
Share on other sites
14 minutos atrás, ygor.anjos disse:

não, nos servidores hospedados você precisa dos dados que ele te da, eu tenho um sistema hospedado e na conexao eu uso o seguinte:

host: mysql.hostinger.com.br

usuario: u913163392_yanjo

banco: u913163392_ocomo

senha: xxxxxx

entrei em contato novamente com o suporte da hospedagem (hostgator)

ele me disse o seguinte:

"esse erro informado é causado por um erro do codificação do seu projeto, nós não disponibilizamos o acesso root"

não sei o que fazer

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 Kefatif
      Prezados boa tarde.
       
      Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário.
       
      Alguém pode me ajudar?
       
      Utilizo php, html e js.
       
      <input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;">  
      Agradeço desde já.
    • By Kefatif
      Prezados boa tarde.
       
      Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário.
       
      Alguém pode me ajudar?
       
      Utilizo php, html e js.
       
      <input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;">  
      Agradeço desde já.
    • By Thiago Duarte
      Eu tenho uma página que abri um alert ao clicar no link , só que nao cadastra e nem funciona o login.
       
       <div class="btn-box">          <a class="btn btn-color venobox vbox-item" data-toggle="modal" href="javascript:void(0)" onclick="openRegisterModal();">Start now Free </a>             <img src="images/seta.png"> </div>  
      <div class="modal-body">                               <div class="box">                                  <div class="content">                                     <!-- Login Form -->                                     <div class="loginBox">                                        <form id="login-modal" role="form"  method="post" action="#">                                           <input type="hidden" name="param" value="logar" />                                           <!-- Success/Alert Notification -->                                           <p class="lm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Login modal validation is working. Implement your code.</strong></p>                                           <p class="lm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p>                                           <!-- Input Fields -->                                           <input id="lm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required="">                                           <input id="lm-password" class="form-control input-lg" type="password" placeholder="Password" name="senha" required="">                                           <!-- Login Button -->                                           <input type="submit" class="btn btn-color" value="Login">                                           <!-- <button class="btn btn-color">Login</button> -->                                        </form>                                     </div>                                     <!-- /End Login Form -->                                  </div>                               </div>                               <!-- /End Login Form Box -->                               <div class="box">                                  <!-- Signup Form -->                                  <div class="content registerBox" style="display:none;">                                     <form id="signup-modal" role="form" method="post" action="?go=cadastrar">                                        <!-- Success/Alert Notification -->                                        <p class="sm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Signup modal validation is working. Implement your code.</strong></p>                                        <p class="sm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p>                                        <!-- Input Fields -->                                        <input id="sm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required="">                                        <input id="sm-password" class="form-control input-lg" type="password" placeholder="password" name="password">                                        <input id="sm-confirm" class="form-control input-lg" type="password" placeholder="Repeat password" name="senha-confirm">                                        <!-- Signup Button -->                                        <!--  <button class="btn btn-color">Create an account</button> -->                                        <input type="submit" class="btn btn-color" value="Create an account">                                     </form>                                  </div>                                  <!-- /End Signup Form -->                               </div>                               <!-- /End Signup Form Box -->                            </div>  
      e em baixo do </html> coloquei
        <?php           $param = (empty($_POST['param'])) ? 'error' : $_POST['param'];           if($param == 'logar'){       //if($_POST['param'] == 'logar'){             $email = $_POST['email'];             $password = $_POST['password'];             $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email' AND password = '$password'")) or die(mysql_error());             if($query1 == 1){           // print "<script>alert('logou');</script>";              print "<script>window.location.replace('dashboard/index.php');</script>";           }else{              echo "<script>alert('User and password do not match.'); history.back();</script>";           }        }        if(@$_GET['go'] == 'cadastrar'){           // $dominio_gratis = $_POST['dominio_gratis'];          $email = $_POST['email'];          $password = $_POST['password'];          $date_register = date("m-d-Y");                // if(empty($dominio_gratis)){           //     echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";           // }else          if(empty($email)){           echo "<script>alert('Fill in all the fields to register.'); history.back();</script>";            }elseif(empty($password)){           echo "<script>alert('Fill in all the fields to register.'); history.back();</script>";        }else{           $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email'"));           if($query1 == 1){            echo "<script>alert('User already exists.'); history.back();</script>";          }else{            mysql_query("insert into usuario (email, password, date_register, plan) values ('$email','$password','$date_register', '0')");            header("Location: dashboard/dashboard.php");         }      }   }   ?>  
      Alguem pode ajudar?
    • By ricardocelso
      Pessoal boa tarde,  tenho um pc com windows 10, oque preciso instalar para programar em php desde ja muito obrigado.
    • By manolegal
      Boa tarde
      Tenho 5 campos do tipo select no meu formulário.  A seguir um dos campos.
      <div id="resp" class="form-group col-md-3" placeholder="Responsável" title="Pesquisar por Responsável"> <select class="form-control" id="resp" name="resp" placeholder="Responsável" title="Pesquisar por Responsável"> <option value="">Responsável</option> <?php $Sql = "SELECT ..."; $Resultado = ... while ($linha = @pg_fetch_array($Resultado)){. $id_responsavel_bd = $linha["id_responsavel"]; $nome_responsavel_bd = $linha["responsavel"]; if ($resp == $id_responsavel_bd){ echo "<option value='$id_responsavel_bd' selected = 'selected'>$nome_responsavel_bd</option>";} else{ echo "<option value='$id_responsavel_bd'>$nome_responsavel_bd</option>";} } ?> </select> </div> Tenho uma função jquery que ao selecionar qualquer um destes campos, faz uma requisição ajax para atualizar uma div do meu form.
      <script type="text/javascript"> $(document).ready(function(){ $('select').change(function(){ // Todos selects $('form').submit(function(){ var dados = $(this).serialize(); $.ajax({ type: "POST", url: 'arquivo_ajax.php', dataType: 'html', data: dados, }).done(function(data){ //console.log(data); $("#list").empty().html(data); }); return false; }); $("#meu_form").trigger('submit'); }); }); </script> Ao abrir o formulário e fazer a primeira seleção de algum campo do tipo select, é gerada uma solicitação ajax.
      O problema é que a cada nova seleção deste campo e de algum outro campo, ao invés de realizar UMA ÚNICA REQUISIÇÃO, está aumentando o número de requisições a cada nova ação.
      Como não tenho muitos conhecimentos em jquery/ajax em minha dúvida:
      - É normal ir aumentando o número de requisições?
      - Deveria sempre realizar apenas uma requisição (imagino que seja correto)?
      - Meu código está correto? Se não está, onde estou errando?
      Desde já agradeço pela colaboração.
       
       
×

Important Information

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