Toon posts:

[PHP] functie query opvragen

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik geraak eventjes niet wijs uit aan deze functie, deze dient om steeds informatie uit een DB op te halen. Bovenaan de pg staat er een DB include om te connecteren.

// dit is de functie
<?php
function gegevensGenereren($fctMedewerker,$fctDag,$fctDatum,$fctEinddatum)
{
$sql = mysql_query("SELECT * FROM KLC_Agenda WHERE datum BETWEEN '$fctDatum' AND '$fctEinddatum' AND idMedewerker='$fctMedewerker' AND dagVanDeWeek='$fctDag'");
while ($output = mysql_fetch_array($sql))
{
echo $output['uur'], $output['omschrijving'], $output['datum'];
}
}
?>

//zo roep ik ze aan
<?php gegevensGenereren(1,"maandag",$datum,$einddatum); ?>

Wat doe ik nu verkeerd dat dit absoluut niet wil werken???

Bedankt voor de reactie

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

En waarom werkt het niet? Krijg je foutmeldingen oid?

Even met kleurtjes:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// dit is de functie
<?php
function gegevensGenereren($fctMedewerker,$fctDag,$fctDatum,$fctEinddatum)
{
$sql = mysql_query("SELECT * FROM KLC_Agenda WHERE datum BETWEEN '$fctDatum' AND '$fctEinddatum' AND idMedewerker='fctMedewerker' AND dagVanDeWeek='fctDag'");
while ($output = mysql_fetch_array($sql))
{
echo $output['uur'], $output['omschrijving'], $output['datum'];
}
}
?>

//zo roep ik ze aan
<?php gegevensGenereren(1,"maandag",$datum,$einddatum); ?>

Sole survivor of the Chicxulub asteroid impact.


Verwijderd

Topicstarter
Geen enkele foutmelding maar ook niets dat wordt weergegeven uit de database?

  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
Print je query eens uit en gooi hem in iets als PHPMyAdmin, krijg je dan wel wat te zien?

Verwijderd

moet je niet met return gaan werken?

  • Recursio
  • Registratie: Mei 2006
  • Laatst online: 25-11 18:21
Je laatste twee variabelen in je query missen een $-teken. Die worden door je database dus als letterlijke strings opgevat. De database doet vervolgens alles wat je vraagt, alleen zijn er geen records die aan je eisen voldoen?

AND idMedewerker='fctMedewerker' AND dagVanDeWeek='fctDag'");
while ($output = mysql_fetch_array($sql))

Moet zijn:

AND idMedewerker='$fctMedewerker' AND dagVanDeWeek='$fctDag'");
while ($output = mysql_fetch_array($sql))

Het kan helpen om de SQL-query even te echo-en / printen voor je die naar de database stuurt. Dan vallen dit soort zaken snel op.

[ Voor 46% gewijzigd door Recursio op 26-12-2006 17:15 ]


Verwijderd

Topicstarter
Bedankt gelukkig zijn er nog mensen die kunnen lezen

Verwijderd

Daarnaast nog een opmerking:
Het is misschien een heel handig tooltje, dat bij double-quotes de variabelen die je erin zet worden vervangen door de overeenkomstige waarden van de variabelen. Maar het is gewoonweg zwaar * om dat te debuggen.
Bij dit geval had je bij enkele quotes (en dus bij het gebruik van de concat-operator (in PHP is dat de `.`)) de foutmelding `Notice: Use of undefined constant {NAAM_CONSTANTE} - assumed '{NAAM_CONSTANTE} in {BESTANDSNAAM} on line {REGEL} {NAAM_CONSTANTE}`

Daarnaast is het gebruikt van enkele quote (veel) sneller. Ik ben even het onderzoek daarnaar kwijt. Als het nodig mocht zijn wil ik dat nog wel op proberen te zoeken. Een snelle google leverde me echter deze site op: http://ludit.kuleuven.be/pahupa/#quotes

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:04
Verwijderd schreef op dinsdag 26 december 2006 @ 17:17:
Bedankt gelukkig zijn er nog mensen die kunnen lezen
Jammer genoeg kunnen nog niet alle mensen zelf even eerst debuggen. :)

Als je nu eens zelf eerst deze query rechtstreeks op de DB uitvoert, of kijkt wat er nu precies naar de DB wordt verstuurd (dmv de query eens op het scherm te printen alvorens 'm uit te voeren), dan had je dit probleem hoogstwaarschijnlijk allang zelf kunnen oplossen.

Het is zowiezo niet de bedoeling om hier enkel maar een lap code te posten, en dan te vermelden 'wat zou er fout aan zijn', en verwachten dat iemand het voor jou oplost. Zo werkt het hier niet; we verwachten toch minstens zelf wel wat inzet van de TS. We verwachten dus dat je zelf al eerst eens geprobeerd hebt om dit probleem op te lossen, bv dmv de technieken die ik hier eerder beschrevn heb.

[ Voor 64% gewijzigd door whoami op 26-12-2006 23:30 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.