• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Kaux

ajuda com ligaçao php a MySQL

12 mensagens neste tópico

Olá a todos, estou a tentar instalar um cms num servidor mas não consigo fazer a ligação entre o php com o MySQL..

o SO do servido é o CENTOS

Apache 2.0.25

PHP 5

MySQL 4.0.11

tenho uma função de teste com o seguinte codigo:

<?php

$link = mysql_connect('localhost', 'user', 'pass');

if (!$link) {

die('Não foi possível conectar: ' . mysql_error());

}

echo 'Conexão bem sucedida';

mysql_close($link);

?>

(o user e a pass foram trocadas para o exemplo) e obtenho esta resposta do servidor:

Warning: mysql_connect(): Access denied for user 'user'@'localhost' (using password: YES) in (caminho do servidor)/teste.php on line 2

Não foi possível conectar: Access denied for user 'user'@'localhost' (using password: YES)

consigo aceder ao servidor de MySQL com o mysql client sem qualquer problema, criar tabelas na base de dados..

alguem me consegue ajudar?

ps: não sei se deveria ter posto isto aqui ou em bases de dados.. se acharem que está mal colocado façam o favor de trocar.

Abraço! ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

trocar o host como assim?

troco o host na pagina de teste?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

trocar o host como assim?

troco o host na pagina de teste?

Trocas o host aqui: mysql_connect('AQUI', 'user', 'pass');

Em vez do AQUI coloca ai o IP da máquina que está a correr o MySQL.

Antes disso... garante que o MySQL está a correr e que lhe acedes usando o user e a password que estás a usar na ligação do PHP.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois.. já tentei isso mas continua-me a dar o mesmo erro.. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois.. já tentei isso mas continua-me a dar o mesmo erro.. :P

Mas já tentaste o quê? Trocar para o IP ou aceder à BD usando a consola?

Antes de mais tens de garantir que o MySQL está efectivamente "up and running".

Tu ligas-te ao MySQL usando os parâmetros que passas no PHP, ou seja, ligas-te ao MySQL através da consola à BD usando o IP, user e password?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu ligas-te ao MySQL usando os parâmetros que passas no PHP, ou seja, ligas-te ao MySQL através da consola à BD usando o IP, user e password?

exacto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uso este código para efectuar a ligação às BDs MySQL em PHP.

/**
  Copyright M6 2005.
*/
<?
  if(!mysql_connect($DB['connection'],$DB['user'],$DB['password'])) {
    print '<hr noshade size="1" width="35%"><center class="erro">Erro! Por favor verifique os dados de entrada no sistema.</center>'; 
    die("<!-- Falha: ligação à base de dados " . mysql_error() . " -->"); 
  } else {
    if(!mysql_select_db($DB['database'])) {
      print '<hr noshade size="1" width="35%"><center class="erro">Erro! Por favor verifique os dados de entrada no sistema.</center>'; 
      die("<!-- Falha: escolha da base de dados " . mysql_error() . " -->");
    }    
  }
?>

Se os parâmetros $DB['connection'], $DB['user'], $DB['password'] e $DB['database'] estão correctos consegues aceder à BD sem problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu estás só a complicar ele, mas vale dar um exemplo simples do que um dificil.

O problema deve ser do servidor ou do host da mysql.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vou tentar saber mais informaçoes junto do administrador de rede..

muito obrigado por todas as ajudas dadas :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é assim... não é nenhum problema de código.

O erro que te dá é access deneid. Ou seja esse user/pass não têm acesso ao servidor de mysql.

Atenção que dependendo da forma comas as coisas estão instaladas, normalmente as contas de linux não têm associadas uma conta de mysql.

Quero dizer: deves ter que definir um user e uma passa para o servidor de mysql. Isto normalmente é feito no painel de controlo da companhia de hosting da qual és cliente. Ou então via consola se tiveres acesso à shell.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hum.. eu tenho uma conta para acesso ao servidor por SSH que é a mesma conta (ou melhor mesmo user e pass) que consigo aceder com o mysqlclient atravez do meu pc.. será que dentro do mesmo servidor não consigo ter acesso por causa das permissões?

ou seja ter duas contas com o mesmo user e pass mas nao associadas?

Edit: Assunto resolvido! ;) era um problema de configuração de acesso do user por localhost. Muito Obrigado a todos! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora