variabele gebruiken voor een query werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maurice prive

Maurice prive

20/12/2006 00:12:00
Quote Anchor link
Hi,

Ik heb een functie gemaakt die gebruikt maakt van 2 variables: $pforum_id en $number_of_topics.

Als ik deze handmatig invul werkt de query goed, maar ik wil natuurlijk de variabelen ook uit de db halen. Dit werkt echter niet. De code voor die variabele heb ik nu uit gecommenteerd. Hoe kan ik dit als nog werkent krijgen?

De code:
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
<?php

function get_portal_topics() {
    global $bbdb;
    
    // Code hieronder werkt dus niet
    //$pforum_id = $bbdb->get_var("SELECT pforum_id FROM $bbdb->portal");

    $pforum_id = 1;
    $number_of_topics = 10;
    
    return $bbdb->get_results("SELECT * FROM $bbdb->topics WHERE forum_id = $pforum_id ORDER BY topic_time DESC LIMIT 0,$number_of_topics");
}


?>


Thx
 
PHP hulp

PHP hulp

16/11/2024 19:50:27
 
Joren de Wit

Joren de Wit

20/12/2006 14:36:00
Quote Anchor link
Je gebruik een methode uit een bepaalde database klasse. Kun je die methode misschien even laten zien? Nu is het namelijk maar gokken wat er gebeurt en waar het eventueel fout gaat...
 
Maurice prive

Maurice prive

20/12/2006 22:56:00
Quote Anchor link
Nou dit is een plugin voor een forum, an die scripts zijn HUGE.

Ik wil weten waarom hij niet die $pforum_id pulled uit de db met die querie (want die is goed, althans in phpma). Het lijkt wel of die die overslaat ofzo want de 1 wordt niet ingevuld... Het zal wel weer iets lulligs zijn met haakjes of komma's ofzo, maar ik zal niet weten wat...

Ps reageren in dit forum met opera is niet mogelijk BUG
 
Terence Hersbach

Terence Hersbach

20/12/2006 23:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
return $bbdb->get_results("SELECT * FROM ".$bbdb->topics." WHERE forum_id =".$pforum_id." ORDER BY topic_time DESC LIMIT 0,".$number_of_topics);
?>


$vars buiten de quotes geplaatst, probeer dit eens. Als het nie werkt, wil je dan de methode laten zien..

edit: dit bericht is met opera gedaan
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
 
Maurice prive

Maurice prive

20/12/2006 23:09:00
Quote Anchor link
Hmm je begrijpt me verkeerd:

de return $bbdb->get_results query werkt wel, maar deze niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$pforum_id = $bbdb->get_var("SELECT pforum_id FROM $bbdb->portal");
De 1 wordt niet opgehaalt/gebruikt (en de query ervoor is correct)

Ps Hmm vaag ik post nu ook met opera, hiervoor was het invoer veld niet zichtbaar... ook weer gefixed!
Gewijzigd op 01/01/1970 01:00:00 door Maurice prive
 
Joren de Wit

Joren de Wit

20/12/2006 23:30:00
Quote Anchor link
Wat staat er in $bbdb->portal? Bevat die variabele wel de juiste waarde.

En tja, als het dan nog niet werkt, zou ik wel eens willen weten hoe die methode 'get_var' eruit ziet...
 
Maurice prive

Maurice prive

20/12/2006 23:51:00
Quote Anchor link
in phpmy admin werkt die query wel en geeft de 1

bb_portal bestaat uit
pforum_id meer niet
en is gevuld met: 1
en is een int
Gewijzigd op 01/01/1970 01:00:00 door Maurice prive
 
Joren de Wit

Joren de Wit

20/12/2006 23:59:00
Quote Anchor link
Het gaat er niet om wat er in de database staat. Dat geloof ik wel. Heb je $pforum_id al een keer geëchoed nadat je deze regel had uitgevoerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$pforum_id = $bbdb->get_var("SELECT pforum_id FROM $bbdb->portal");


Als er na het uitvoeren van die regel namelijk niets in $pforum_id staat, is er of iets mis aan de query wat veroorzaakt zou kunnen worden door de variabele $bbdb->portal die niet gevuld is. Of de methode get_var() levert niet het gewenste resultaat...
 
Maurice prive

Maurice prive

21/12/2006 00:05:00
Quote Anchor link
Nee verder nergens geechoed, iin dit stukje code wordt het alleen gebruikt. Maar die variable wordt dus niet gebuld.

Hmm er schiet me iets te binnen wat ik nog niet geprobeert heb.

Keep you informed
 
Joren de Wit

Joren de Wit

21/12/2006 00:08:00
Quote Anchor link
Maar ik bedoel dat je $pforum_id een keer echoed om te testen. Dan weet je in ieder geval iets preciezer waar het fout gaat ;-)
 
Maurice prive

Maurice prive

21/12/2006 10:48:00
Quote Anchor link
Ik ben dr uit, het was idd die $bbdb->portal die he tniet goed deed. Ik heb dit veranderd in ".$bb_table_prefix."portal" en dan pakt ie hem wel

Complete werkende code mochten mensen geintresseerd zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function get_portal_topics() {
    global $bbdb, $bb_table_prefix;
    
    $pforum_id = $bbdb->get_var("SELECT pforum_id FROM ".$bb_table_prefix."portal");
    $number_of_topics = $bbdb->get_var("SELECT number_of_topics FROM ".$bb_table_prefix."portal");
    
    return $bbdb->get_results("SELECT * FROM $bbdb->topics WHERE forum_id = $pforum_id ORDER BY topic_time DESC LIMIT 0,$number_of_topics");
}


?>

Iig allemaal bedankt voor de hulp en fijne feestdagen!
 



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.