← Tutoriais

[php+mysql] Conneccao á base de dados.

Lida 3619 vezes

Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Viva,

"Access denied for user 'sapovideo'@'208.109.181.201' (using password: YES)" :) Godaddy no seu melhor... ou será o meu código no seu melhor :D "

Eu uso o seguinte código para ligar á base de dados

function ligadb(){
$username="root";
$password="password";
$database="basededados";
$conectar=mysql_connect($hostname,$username,$password)or die(mysql_error());
$selectdb=mysql_select_db($database,$conectar)or die(mysql_error());
return $conectar;
}

sempre que preciso de fazer uma query faço assim
$query="select * from tabela";
$sql = mysql_query($query,ligar());
// nao fecho a ligaçao... porque li que em php isso é feito automaticamente... será?

Ou seja... em 10 querys na mesma pagina vai fazer 10 ligaçoes á mesma.

Pronto , acontece é que nao sei se este é a melhor maneira de fazer a ligaçao á base de dados.
Devo fazer mysql_close($sql) no final das querys?


Offline

kadinho 
Membro
Mensagens 47 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 10 Posts

deves, podes colocar por exemplo no fim do script. Tenta aproveitar querys/variaveis sempre que possivel, vais rentabilizar recursos.

ve os previlegios desse utilizador, pois pelos vistos não tem acesso a db :-?
Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Os "C@br03s" desactivaram o utilizador... já é a 2 vez que o fazem.

Mas estas a falar do tipo

1ª hipotese
<?php

$ligar = ligardb();
...
...
...
$sql = mysql_query($query1,$ligar);
...
...
$sql2 = mysql_query($query2,$ligar);
...
...

mysql_close($ligar);

?>

Ou

2ª hipotese
<?php

$ligar = ligardb();
$sql = mysql_query($query1,$ligar);
mysql_close($ligar);
...
...
$ligar = ligardb();
$sql2 = mysql_query($query2,$ligar);
mysql_close($ligar);
...
...
?>
Offline

kadinho 
Membro
Mensagens 47 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 10 Posts

1ª hipotese.


já agora o $ligar deverá estar num script a parte. depois quando precisares dele

<?
include ("conexao.php");

.....




?>
Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

As tantas sobrecarreguei com força lá os servidores dos "p@n3l3ir0s" ... :S

porque todas as ligaçoes sao feitas com $sql = mysql_query($query,ligar()); , 10 querys destas na mesma página ... deve dar o tilt.
Offline

kadinho 
Membro
Mensagens 47 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 10 Posts

acho que não... o user tem é problemas de acesso,

não mexes-te na password ou nos previlegios das dbs ?
Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Negativo,

Eu não fui... só se algum "Pirata" resolveu brincar ( o que duvido... ) . Já não é a primeira vez que eles fizeram isso , e mandaram com todas as latas um mail a dizer ( aliás... só disseram pk eu mandei um mail a perguntar o que se passava ) que tinha bloqueado o acesso á base de dados pk haviam querys que estavam a sobrecarregar o servidor deles.

Enfim :) a sorte é que o site é um hobby ... se fosse numa soluçao mais comercial queria ver.
Offline

kadinho 
Membro
Mensagens 47 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 10 Posts

pois mas no caso de sobrecarregares a base de dados, convem eles avisarem-te e depois se não fizeres nada eles tem de tomar medidas.


cumps
Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Pois... mas nao é política destes gajos :D


Só tenho deixado ficar pk comprei o servidor por 2 anos ... deve acabar la pro final deste ano. Mas estou que vou partir para outro servidor.
Offline

kadinho 
Membro
Mensagens 47 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 10 Posts

agora é que estou a reparar que tens a ligação numa função,


function ligadb(){
$username="root";
$password="password";
$database="basededados";
$conectar=mysql_connect($hostname,$username,$password)or die(mysql_error());
$selectdb=mysql_select_db($database,$conectar)or die(mysql_error());
return $conectar;
}



pq ?
Offline

sapovideo 
Membro
Mensagens 295 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Esta colocada num ficheiro á parte com o resto das funcoes.

Sempre que é necessário ligar... chamava a funcao.

A godaddy é altamente :D mandam-me um mail a dizer que tenho os dados errados de acesso para alterar a password para seguir o "desenho" que fizeram lol enfim... a password é a mesma e nao tenho permissao ... ja mandei 3 mails enfim suporte de cáca!