Query binnen while werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jurgen B

Jurgen B

15/06/2009 22:55:00
Quote Anchor link
Dag mensen,

Ik ben 2 uur bezig geweest om dit probleem op te lossen, maar het is me nog steeds niet gelukt. Hopelijk kan één van jullie zien (frisse blik) wat er mis gaat. Onderstaande code geeft 3x Resource id #12 weer, maar ik heb echt geen idee waarom! De $aanvulling[‘id’] bestaat wel en die werkt ook netjes binnen de while lus. en als ik de query in phpmyadmin plak krijg ik ook netjes een resultaat terug.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
while($aanvulling = mysql_fetch_assoc($result_aanvullingen)){
                            $pdk_query = mysql_query("
                                                SELECT
                                                    k.id as korting_id,
                                                    k.soort_id as soort_id,
                                                    k.type_id as type_id,
                                                    k.waarde as waarde,
                                                    kk.product_id as product_id,
                                                    kk.aantal as aantal
                                                FROM
                                                    kortingen k
                                                INNER JOIN
                                                    kortingen_koppel kk
                                                ON
                                                    kk.korting_id = k.id
                                                WHERE
                                                    kk.product_id = '"
.$aanvulling['id']."'
                                                    "
);
$korting_pd = mysql_fetch_assoc($pkd_query);
print_r($aanvulling['id'].' '.$pdk_query.'<br />');

}

?>


Met deze code krijg ik als resultaat:
1 Resource id #10
2 Resource id #11
3 Resource id #12
Gewijzigd op 01/01/1970 01:00:00 door Jurgen B
 
PHP hulp

PHP hulp

24/04/2024 06:33:06
 
Joren de Wit

Joren de Wit

15/06/2009 22:57:00
Quote Anchor link
$pdk_query is de resultaatset van de query die je uitvoert. Die zul je wel eerst nog moeten fetchen...
 
Emmanuel Delay

Emmanuel Delay

15/06/2009 22:58:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$result_aanvullingen
= mysql_query("
  SELECT
      k.id as korting_id,
      k.soort_id as soort_id,
      k.type_id as type_id,
      k.waarde as waarde,
      kk.product_id as product_id,
      kk.aantal as aantal
  FROM
      kortingen k
  INNER JOIN
      kortingen_koppel kk
  ON
      kk.korting_id = k.id
      "
);
while($aanvulling = mysql_fetch_assoc($result_aanvullingen))
{

  print_r( $aanvulling.'<br />');
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Jurgen B

Jurgen B

15/06/2009 23:07:00
Quote Anchor link
@ Blanche: Ja sorry die stond er wel, maar had ik niet bij de code geplaatst. Het is een stukje van een grote geheel.

BTW: Ook al wordt het resultaat niet gefetched dan moet php de query toch nog wel kunnen echo'en?

@emmanuel Delay: Sorry jouw code heb ik niets aan, de while die er om heen stond moet daar ook blijven omdat ik daarin al andere gegevens op haal en nu heb je ook nog m'n where er uit getrokken dus jouw code zal nooit werken :P
Gewijzigd op 01/01/1970 01:00:00 door Jurgen B
 
Joren de Wit

Joren de Wit

15/06/2009 23:16:00
Quote Anchor link
Lees nu mijn post nog eens goed, $pdk_query is in jouw scriptje toch echt het resultaat van een mysql_query() en als je die echot zonder te fetchen krijg je inderdaad een ResourceID terug.

Je zult $pdk_query dus eerst nog in een functie als mysql_fetch_assoc() moeten gebruiken voordat je er iets nuttigs mee kan. Ik zie dat je dat nu doet, maar gebruik die $korting_pd dan ook in je print_r() en geef dan ook de veldnaam op. Dus iets als $korting_pd['veldnaam'].
 
Jurgen B

Jurgen B

15/06/2009 23:33:00
Quote Anchor link
@ Blanche .. dat was niet het probleem!

Ik heb gewoon serieus 2 uur naar een typo zitten staren! SLIM :S
 
- SanThe -

- SanThe -

15/06/2009 23:43:00
Quote Anchor link
Jurgen B schreef op 15.06.2009 23:33:
@ Blanche .. dat was niet het probleem!

Ik heb gewoon serieus 2 uur naar een typo zitten staren! SLIM :S


Misschien voor de volgende keer:

Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Joren de Wit

Joren de Wit

16/06/2009 10:46:00
Quote Anchor link
Jurgen B schreef op 15.06.2009 23:33:
@ Blanche .. dat was niet het probleem!
Omg als jij $pdk_query, het resultaat van mysql_query(), echot, een ResourceID terug krijgt en je afvraagt waarom dat niet is wat je wilt, lijkt mij toch dat dat duidelijk wel het probleem is.

Maar goed, als jij dat een typo wilt noemen prima. Feit blijft dat je $pdk_query niet kunt echoën en dat je die resultaat set eerst moet fetchen voordat je iets kunt echoën.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.