login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysterieus probleem

Offline cunces - 23/08/2009 21:22 (laatste wijziging 23/08/2009 21:28)
Avatar van cuncesNieuw lid
  1. if(!empty($functionaliteit1)) {
  2. voegFunctionaliteitToe2($functionaliteit1,$projectcode);
  3. }
  4. if(!empty($functionaliteit2)) {
  5. voegFunctionaliteitToe2($functionaliteit2,$projectcode);
  6. }
  7. if(!empty($functionaliteit3)) {
  8. voegFunctionaliteitToe2($functionaliteit3,$projectcode);
  9. }
  10. if(!empty($functionaliteit4)) {
  11. voegFunctionaliteitToe2($functionaliteit4,$projectcode);
  12. }
  13. if(!empty($functionaliteit5)) {
  14. voegFunctionaliteitToe2($functionaliteit5,$projectcode);
  15. }
  16.  
  17.  
  18. function voegFunctionaliteitToe2($functionaliteit, $projectcode) {
  19. $query = "select count(*) from \"SchemaXI\".functionaliteiten where projectcode = '$projectcode' and functionaliteit = '$functionaliteit'";
  20. $result = $db->query($query);
  21. $result->fetchInto($rij);
  22.  
  23.  
  24.  
  25. if($rij[0]==0) {
  26. $query = "INSERT INTO \"SchemaXI\".functionaliteiten (projectcode, functionaliteit) values ('$projectcode','$functionaliteit')";
  27. // echo $query;
  28. $result = $db->query($query);
  29. }





ik krijg als foutmelding:
Fatal error: Call to undefined function voegFunctionaliteitToe2()

ik heb alle query's geëchood en deze zijn goed van syntax... dus aan wat kan het nog liggen?


edit: ook $projectcode is goed gedeclareerd rboven

6 antwoorden

Gesponsorde links
Offline shibble - 23/08/2009 21:28
Avatar van shibble MySQL interesse zet het even tussen tags wil je?

en de error geeft al aan dat die de functie niet kan vinden mits ik het goed heb...
Offline Filip - 23/08/2009 21:31
Avatar van Filip IRC guru Nogal logisch ook...

Als je de functie defined NA dat je de if doet is het nogal logisch dat die niet bestaat in de if...
Offline cunces - 23/08/2009 21:40
Avatar van cunces Nieuw lid ja bedankt. Wou het omzeilen door niet met externe functies te werken maar nu stuit ik op het volgende probleem:
  1. function voegFunctionaliteitToe2($functionaliteit, $projectcode) {
  2. $db = $_SESSION['db'];
  3. $query = "select count(*) from \"SCHEMAXI\".functionaliteiten where projectcode = '$projectcode' and functionaliteit = '$functionaliteit'";
  4. $result = $db->query($query);
  5. $result->fetchInto($rij);
  6.  
  7.  
  8.  
  9. if($rij[0]==0) {
  10. $query = "INSERT INTO \"SCHEMAXI\".functionaliteiten (projectcode, functionaliteit) values ('$projectcode','$functionaliteit')";
  11. // echo $query;
  12. $result = $db->query($query);
  13. }
  14.  
  15. }
  16.  
  17. if(!empty($functionaliteit1)) {
  18. voegFunctionaliteitToe2($functionaliteit1,$projectcode);
  19. }
  20. if(!empty($functionaliteit2)) {
  21. voegFunctionaliteitToe2($functionaliteit2,$projectcode);
  22. }
  23. if(!empty($functionaliteit3)) {
  24. voegFunctionaliteitToe2($functionaliteit3,$projectcode);
  25. }
  26. if(!empty($functionaliteit4)) {
  27. voegFunctionaliteitToe2($functionaliteit4,$projectcode);
  28. }
  29. if(!empty($functionaliteit5)) {
  30. voegFunctionaliteitToe2($functionaliteit5,$projectcode);
  31. }



Fatal error: Call to undefined method DB_Error::fetchInto() in
Nu wanneer ik die query's echo en invoer werken deze gewoon dus ik snap niet hoe deze fout kan. Ieman die raad weet?
Offline NTS64 - 23/08/2009 22:44 (laatste wijziging 23/08/2009 22:45)
Avatar van NTS64 PHP gevorderde Telkens je queries echoën en nakijken of ze wel degelijk het gewenste effect op je database hebben gehad is niet zo'n goed idee om ze te debuggen. MySQL errors kunnen enkel door php worden opgevangen als je dat daadwerkelijk aangeeft met PHP.net: mysql_error()
Gebruik daarom:
  1. <?php
  2. mysql_query("SELECT foo FROM bar") or die(mysql_error());
  3. ?>


Wat ik gek vind is dat je al geen error krijgt over regel 4. Je roept een method aan van een var die SESSIE var bevat. Tenzij $_SESSION['db'] daadwerkelijk een object is, mar dit lijkt me ook nogal ongewoon deze in een sessie op te slaan?
Om tot slot bij je error aan te komen... Deze lijkt me duidelijk niet?
Indien niet raad ik je toch eens aan http://www.cursusphp.be en http://www.php.net door te nemen.

Offline Stijn - 23/08/2009 23:24
Avatar van Stijn PHP expert Dat probleem had marten een jaar geleden ook. Hij sloeg een instantie van een klasse op in een sessie variabele. Als je een object in een sessie wilt opslaan moet je hem serializen. Als je hem uit de sessie wilt halen, terug unserializen. Hier is de code.

  1. //opslaan in een sessie
  2. $_SESSION['db'] = serialize($db);
  3.  
  4. //uit de sessie halen
  5. $db = unserialize($_SESSION['db']);
Offline cunces - 23/08/2009 23:34
Avatar van cunces Nieuw lid ik heb nu in de klasse waar ik refereerde naar die superhandige functie 5 x alles gekopiërd :')

toch uw oplossing ook 'ns proberen, merci!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s