View Full Version : ajuda com ligaçao php a MySQL


Kaux
20-06-2006, 14:02
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?

ptzs
20-06-2006, 18:19
Partindo do principio que a BD tá a correr, verifica o user e a passwd que parece que estão erradas.

Kaux
20-06-2006, 18:24
a BD está a correr e o user e passwd estao correctas.. ou seja.. com o mysqlclient da na boa.. quando tento correr com php é que não dá.. :( erá algum problema de configuração do apache ou do mysql? :(

Prodigy
20-06-2006, 23:22
mysql -u root

set password for 'user'@'localhost' = password ('newpassword');

select user, host, password, select_priv, update_priv, delete_priv, insert_priv from mysql.user;

definis-te password no 'user' ?

Squillace
21-06-2006, 05:44
Estás a testar isso em local, no teu computador? Se não (se for num alojador qualquer), o endereço não pode ser "localhost".

Mitnick
21-06-2006, 14:36
No meu hosting o endereco e localhost...

Pode ser o PHP que nao tras o mySQL activado... verifica no php.ini

Kaux
21-06-2006, 15:12
hum.. o servidor é o da minha universidade.. vou tentar verificar se o MySQL está activado junto do administrador do servidor.. já agora.. dentro do php.ini como vejo se está activado ou nao?

Zombie
22-06-2006, 16:38
corre a função

phpinfo()

E ela mostra-te todas as extensoes instaladas.

Kaux
22-06-2006, 17:16
corre a função

phpinfo()

E ela mostra-te todas as extensoes instaladas.

já corri a função.. tem la o seguinte quadro

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

é isto?

ApM
22-06-2006, 19:00
no mysqlclient verifica se o user tem permissoes para aceder de qq lado.
uma vez criei um user e dps n o podia usar e fui descobrir que tinha sido por este so ter permisoes para aceder de fora! mete qq coisa como user@% o '%' diz k pode aceder de qq lado.

Kaux
22-06-2006, 19:28
onde coloco isso?

ApM
22-06-2006, 20:14
epa pois agora n tenho o mysqlclient a mao... mas sera la pela zona da gestao de utilizadores.

spastikman
22-06-2006, 22:31
outro pormenor ...

as vezes as ligações nao funcionam com user mas cim com user@localhost e vice versa ... vê se é o caso ...