login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Databeest connectie

Offline Bart - 21/09/2004 13:45
Avatar van BartPHP expert Hallo,
  1. <?php
  2. $host = "localhost";
  3. $user = "username";
  4. $pass = "password";
  5. $connectie = mysql_connect($host, $user, $pass);
  6. ?>

Dit is een databeest connectie, alleen zie ik in veel scripts iets met..

Zou iemand mij kunnen vertellen waarom dat niet noodzakelijk is?

11 antwoorden

Gesponsorde links
Offline DRUNK - 21/09/2004 13:55
Avatar van DRUNK PHP gevorderde Dit is handig om te debuggen, als de verbinding mislukt word er een fout gegeven waardoor het makkelijker is de fout te vinden. Dit is dus niet nootzakelijk en ook niet aanraadbaar om in een productie systeem te gebruiken omdat er vaak gegevens over het systeem worden vrij gegeven, waardoor de veiligheid dus in gevaar komt.
Offline Bart - 21/09/2004 14:01
Avatar van Bart PHP expert Maar hoe zorg je dan dat er een tekst komt te staan van:
"Sorry er is een fout opgetreden in de database"
Offline DRUNK - 21/09/2004 14:10
Avatar van DRUNK PHP gevorderde
  1. <?php
  2.  
  3. mysql_connect('localhost', 'user', 'pass') or die('Sorry er is een fout opgetreden in de database');
  4.  
  5. // of...
  6.  
  7. if (!mysql_connect('localhost', 'user', 'pass')) {
  8. die('Sorry er is een fout opgetreden in de database');
  9. }
  10. ?>
Offline Thomas - 21/09/2004 14:25
Avatar van Thomas Moderator Meestal is het verstandiger om je pagina 'stop te zetten' wanneer er fouten optreden in je query(s).
Het is dus zeker géén overbodige luxe op het controleren van errors... je hoeft hier toch geen mededelingen over te doen naar de gebruiker, anders dan "er is een fout opgetreden" oid.

Testen en debuggen gaat altijd door, ook al is je website in produktie (gebruik) genomen.
Offline Bart - 21/09/2004 14:33 (laatste wijziging 21/09/2004 14:33)
Avatar van Bart PHP expert Dus al ik et goed begrijp, is het wel goed om die "or die..." toe te voegen...?

En FangorN bedoel je dat het de gebruiker nix aan gaat dat het een error in de database is?
Offline DRUNK - 21/09/2004 14:53
Avatar van DRUNK PHP gevorderde met een die() of exit laat je het script stoppen, dit is goed als je verbinding of query mislukt, maar om er dan mysql_error() bij te doen is alleen nuttig voor test / debug doeleinden. Op een goed draaiende site zal je ook niet vaak mislukte query's of verbindingen hebben, alleen als iemand met GET of POST gekke dingen invoerd. In dit geval is het wel handig om die fouten optevangen en die gebruiker te melden dat het niet lukt wat hij/zij wil doen...
Offline Bart - 21/09/2004 14:55 (laatste wijziging 21/09/2004 14:56)
Avatar van Bart PHP expert Dus dan wordt et zo:?
  1. <?
  2. $host = "localhost";
  3. $naam = "username";
  4. $pass = "password";
  5. $database = "database_naam";
  6.  
  7. mysql_connect($host, $naam, $pass) or die(mysql_error());
  8. mysql_select_db($database) or die(mysql_error());
  9. ?>
Offline DRUNK - 21/09/2004 14:57
Avatar van DRUNK PHP gevorderde ja dit kan...
Offline Bart - 21/09/2004 15:00
Avatar van Bart PHP expert En waar moet ik dan die tekst invoegen? van Error: Er is een onverwachte fout opgetreden.
Offline DRUNK - 21/09/2004 15:03 (laatste wijziging 21/09/2004 15:05)
Avatar van DRUNK PHP gevorderde !!!
  1. <?php
  2. $host = "localhost";
  3. $naam = "username";
  4. $pass = "password";
  5. $database = "database_naam";
  6.  
  7. mysql_connect($host, $naam, $pass) or die('Error: er is een onverwachte fout opgetreden, fout: ' . mysql_error());
  8. mysql_select_db($database) or die('Error: er is een onverwachte fout opgetreden. ' . mysql_error());
  9. ?>
Je kan het stukeje met: . mysql_error() ook weglaten, dan komt word de outmelding die MySQL produceerde niet weergegeven maar alleen: 'Error: er is een onverwachte fout opgetreden.'
Offline Thomas - 21/09/2004 15:31
Avatar van Thomas Moderator Fouten die omschrijven wat er fout gaat zijn doorgaans het handigst.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.3s