Goede foutafhandeling MySQL


/ Published in: PHP
Save to your folder(s)



Copy this code and paste it in your HTML
  1. define('DEBUG_MODE', true); //DEBUG_MODE instellen, true is aan en false is uit.
  2.  
  3. if(DEBUG_MODE)
  4. { // Als de debug mode aanstaat
  5. error_reporting(E_ALL | E_STRICT); //Laat alle errors zien
  6. ini_set('display_errors', 1); // Nog een keer alle errors aanzetten
  7. }
  8. elseif(!DEBUG_MODE)
  9. { // Als de debug mode uitstaat
  10. error_reporting(0); //Laat geen error zien.
  11. ini_set('display_errors', 0); //idem
  12. }
  13.  
  14. $mysql = mysql_connect('localhost', 'gebruikersnaam', 'wachtwoord');
  15.  
  16. if(!$mysql)
  17. { //Als er geen verbinding is.
  18. echo "Er kan geen verbinding worden gemaakt";
  19.  
  20. if(DEBUG_MODE)
  21. { //Als debug_mode aanstaat.
  22. echo "<br />".mysql_error($mysql);
  23. }
  24. }
  25. else
  26. { //Als er verbinding is
  27. $db = mysql_select_db('databasenaam', $mysql);
  28.  
  29. if(!$db)
  30. { //Als er geen database is gevonden
  31. echo "Er kan geen databasecontact worden gemaakt";
  32.  
  33. if(DEBUG_MODE)
  34. {
  35. echo "<br />".mysql_error($db);
  36. }
  37. }
  38. else
  39. {
  40. $query = "SELECT rij1, rij2, rij3 FROM tabelnaam WHERE iets='iets'";
  41. $result = mysql_query($query, $mysql);
  42.  
  43. if(!$result)
  44. { //Als er geen query kan worden uitgevoerd.
  45. echo "Het ophalen lukt niet!";
  46.  
  47. if(DEBUG_MODE)
  48. {
  49. echo "<br />".mysql_error($result)."<br />".$query; //Query echoen om te zien of daar iets fout in is
  50. }
  51. }
  52. else
  53. {
  54. if(mysql_num_rows() < 0)
  55. { // Als er niks is opgehaald
  56. echo 'Er zijn geen gegevens opgehaald.';
  57. // Dit is geen fout, dus er valt ook geen error te tonen
  58. }
  59. else
  60. {
  61. while($row = mysql_fetch_object($result)
  62. {
  63. echo $row['rijnaam'];
  64. }
  65. }
  66. }
  67. }
  68. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.