login  Naam:   Wachtwoord: 
Registreer je!
 Forum

quote probleem database class (Opgelost)

Offline Ultimatum - 31/07/2007 14:11 (laatste wijziging 31/07/2007 14:12)
Avatar van UltimatumPHP expert Ey, ik heb een class gemaakt waar je alleen velden hoeft in te vullen en dan word de query automatisch gemaakt. Maar nu heb ik een fout als ik bijvoorbeeld NOW() wil gebruiken. Wat om alle values worden automatisch quotes gezet. Hoe kan ik omzeilen voor sommige mysql keywords zoals NOW()?

Dit is de functie

  1. <?php
  2. public function insert() {
  3.  
  4. if(sizeof($this->fields) == 0) {
  5.  
  6. echo 'Geen velden om in te voegen';
  7.  
  8. } else {
  9.  
  10. $sql = '';
  11. $sql .= 'INSERT INTO '. $this->table .' (';
  12.  
  13. $field = '';
  14. foreach($this->fields as $key => $value) {
  15.  
  16. $field .= $key .', ';
  17.  
  18. }
  19.  
  20. $sql .= substr($field, 0, strlen($field) - 2);
  21. $sql .= ') VALUES (';
  22.  
  23. $values = '';
  24. foreach($this->fields as $key => $value) {
  25.  
  26. $values .= '"'. $value .'", ';
  27.  
  28. }
  29.  
  30. $sql .= substr($values, 0, strlen($values) - 2);
  31. $sql .= ')';
  32.  
  33. if(!$result = mysql_query($sql)) {
  34.  
  35. echo 'Er was een probleem - Mysql Error: '. mysql_error();
  36.  
  37. return false;
  38. }
  39.  
  40. return true;
  41. }
  42. }
  43. ?>

4 antwoorden

Gesponsorde links
Offline Ibrahim - 31/07/2007 14:17
Avatar van Ibrahim PHP expert zelf kiezen of je quotes omheen doet of niet ?
Offline Ultimatum - 31/07/2007 14:19
Avatar van Ultimatum PHP expert Dus moet ik bij het aanroepen van de functie al quotes doen?
Offline Ibrahim - 31/07/2007 14:21
Avatar van Ibrahim PHP expert ja, dat is de makkelijkste optie. Er is nog een manier:

Values worden meegegeven met een array, de key is de waarde die toegevoegd worden in de DB en de value van de array is dan een boolean (TRUE of FALSE). Als het FALSE is => quotes omheen, TRUE => geen quotes.
Offline Ultimatum - 31/07/2007 14:29 (laatste wijziging 31/07/2007 15:39)
Avatar van Ultimatum PHP expert De 2de manier zou wel moeten kunnen idd. Moet even de arrays verbouwen want ik gebruik de key en value allebei al van de array dus moet even manier verzinnen om een bool erin te zetten . Iig bedankt.

Voor de geintereseerden :

Ik heb een array gemaakt met de naam quotes, en in de functie addfield een extra paramteter. Deze bool word in de array quotes gezet en dan kijken of het veld een quote wil of niet.

Zoals Siliecom14 al beschreef dus 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.267s