Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] error handler do funkcji łączącej się z bazą
Forum PHP.pl > Forum > Przedszkole
saperos
Jest sobie taka klasa:

  1. <?php
  2. class db{
  3.  
  4. function __construct(){}
  5.  
  6. public function db_connect(){
  7. include("./libs/config.php");
  8. $this->connect = mysql_connect($_hostname,$_db_user,$_db_password);
  9. mysql_select_db($_db_name);
  10. return $this->connect;
  11. }
  12.  
  13. public function execute_query($_question){
  14. $this->question = $_question;
  15. return mysql_query($this->question);
  16. }
  17.  
  18. public function show_query(){
  19. return $this->question;
  20. }
  21.  
  22. public function count_rows($_question){
  23. $this->question = $this->execute_query($_question);
  24. return mysql_num_rows($this->question);
  25. }
  26.  
  27. public function db_select($_question){
  28. $dataArray = array();
  29. $i=0;
  30. $query = $this->execute_query($_question);
  31. while($row = mysql_fetch_array($query)){
  32. foreach($row as $fieldName => $fieldValue){
  33. $dataArray[$i][$fieldName] = $fieldValue;
  34. }
  35. $i++;
  36. }
  37. return $dataArray;
  38. }
  39.  
  40. public function db_close() {
  41. return mysql_close($this->connect);
  42. }
  43. }
  44. ?>


Do funkcji execute_query() chciałem dopisać jakiś error handler informujący mnie o błędach w kodzie sql.

probowalem w taki sposob:

  1. <?php
  2. public function execute_query($_question){
  3. $this->question = $_question;
  4.  
  5. if (!mysql_query($this->question)){
  6.  echo mysql_error() . "<br />";
  7.  return 0;
  8. }
  9. else
  10. return mysql_query($this->question);
  11. }
  12. ?>


ale wtedy kod sql ktory jest poprawny (np inserty do bazy) wykonywany jest dwa razy...

Bardzo prosze o jakies sugestie...
nospor
po co wykonujesz dwa razy?
  1. <?php
  2. public function execute_query($_question){
  3. $this->question = $_question;
  4. $res = mysql_query($this->question);
  5. if (!$res){
  6. echo mysql_error() . "<br />";
  7. return 0;
  8. }
  9. return $res;
  10. }
  11. ?>
saperos
Dziękuję za pomoc... i przepraszam za głupie jak sie okazało pytanie... szukałem na nie odpowiedz wszędzie tylko nie tam gdzie trzeba :/


pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.