variabele gebruiken voor een query werkt niet
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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");
}
?>
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
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...
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
Code (php)
1
2
3
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);
?>
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
de return $bbdb->get_results query werkt wel, maar deze niet:
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
En tja, als het dan nog niet werkt, zou ik wel eens willen weten hoe die methode 'get_var' eruit ziet...
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
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...
Hmm er schiet me iets te binnen wat ik nog niet geprobeert heb.
Keep you informed
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 ;-)
Complete werkende code mochten mensen geintresseerd zijn:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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");
}
?>
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!