Avatar billede wickedd Juniormester
13. december 2004 - 02:23 Der er 16 kommentarer og
3 løsninger

Tjek om der er forbindelse til databasen

Hvordan kan man tjekke om der er forbindelse til en database (mysql), og hvis der ikke er forbindelse, skal php skrive en besked at der er noget galt, og derefter stoppe alt hvad den har gang i.

Nogen forslag?
Avatar billede baitianlong Nybegynder
13. december 2004 - 02:34 #1
mysql_connect("localhost", "brugernavn", "password") or die("Det gik i vasken");
Avatar billede Slettet bruger
13. december 2004 - 07:15 #2
Godmorgen.. :)

Eller:
<?php
$connection = mysql_connect("localhost", "brugernavn", "password");
if (!$connection) {
  echo "Ingen forbindelse!";
  exit;
}
// Din normale kode, som ikke bliver udført hvis connectionen mislykkedes...
?>

Så kan du bruge $connection overalt i din kode, til at checke om der er forbindelse :)
Avatar billede wickedd Juniormester
13. december 2004 - 09:31 #3
Ja godmorgen! :)
Nu har jeg lige prøvet dem begge, med et forkert password, og så kommer der en fejlmeddelse frem før min egen tekst bliver skrevet. Er det helt umuligt at fjerne de meddelser så det kun er min egen tekst der bliver brugt?
Avatar billede Slettet bruger
13. december 2004 - 09:43 #4
Der kommer da ikke en fejmeddelelse i det eksempel jeg gav?
Avatar billede wickedd Juniormester
13. december 2004 - 09:45 #5
Jo hvis jeg smider en forkert kode ind.
Avatar billede Slettet bruger
13. december 2004 - 09:48 #6
Ja når du forsøger at lave queries gør der jo selvfølgelig. Det er netop derfor at du skal checke med if (!$connection).

ex:

<?php
$connection = mysql_connect("localhost", "brugernavn", "password");
if (!$connection) {
  echo "Ingen forbindelse!";
  exit;
} else {
  // Queries, som kun bliver udført hvis der er connection (resten af din kode)...
}
?>
Avatar billede wickedd Juniormester
13. december 2004 - 09:49 #7
Ej det er ligemeget, nu ved folk da i det mindste hvad der forgår når der ik er kontakt :)
Takker for hjælpen
Avatar billede Slettet bruger
13. december 2004 - 09:50 #8
Nej, nej.. Prøv at lave det med mit sidste eksempel.. Du skal da have en pæn fejlmeddelelse ;-)
Avatar billede wickedd Juniormester
13. december 2004 - 09:50 #9
Jeg smed det her ind

<?php
$c = mysql_connect("localhost","***","***");
if (!$c) {
  echo "blabla";
  exit;
}
?>
Avatar billede Slettet bruger
13. december 2004 - 09:53 #10
så skal du lige have en

} else {
}

på hvor din almindelige kode er.. Så skulle det virke :)
Avatar billede wickedd Juniormester
13. december 2004 - 09:54 #11
Prøver lige så
Avatar billede wickedd Juniormester
13. december 2004 - 09:57 #12
Det er det samme

Warning: mysql_connect(): Access denied for user: ...
Avatar billede coderdk Praktikant
13. december 2004 - 10:07 #13
<?php

  if ( !( $connection = @mysql_connect("localhost", "brugernavn", "password") ) )
  {
    die( "Ingen forbindelse!" );
  }

?>
Avatar billede wickedd Juniormester
13. december 2004 - 10:08 #14
Tror det er webhotellet det er galt med, for jeg har lige prøvet

$c = mysql_connect('localhost', '***', '***');
if (!$c) {
  die('Kunne ikke forbinde til databasen: ' . mysql_error());
}
Avatar billede wickedd Juniormester
13. december 2004 - 10:11 #15
coder: ah det virkede
Avatar billede Slettet bruger
13. december 2004 - 10:13 #16
aarrhh.. Der skulle lige et @ foran ;o)
Avatar billede wickedd Juniormester
13. december 2004 - 10:20 #17
hehe mere kaffe tak :)
Avatar billede coderdk Praktikant
13. december 2004 - 10:46 #18
heheh! :D
Avatar billede wickedd Juniormester
13. december 2004 - 16:20 #19
Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester