Jump to content

ajuda com ligaçao php a MySQL


Kaux

Recommended Posts

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! 😉

Link to comment
Share on other 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.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

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

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?

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other 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.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other 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.

Link to comment
Share on other 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! 😛

Link to comment
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
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.