[OOP][PDO]Opvragen van resultaten uit database geeft een lege echo
Bij het uitvoeren van volgend script krijg ik een lege pagina te zien.
maar zie ik in je code:
maar nergens een $row die aangemaakt word??? :S wil niet gek lijken,
Code (php) 1234567891011121314151617181920212223242526272829303132333435363738394041 <?phpsession_start();// Database connectclass dbconnection { protected $dblink; private $server, $username, $password, $dbname; public function __construct($server, $username, $password, $dbname) { $this->server = $server; $this->username = $username; $this->password = $password; $this->dbname = $db; $this->open(); } // Open private function open(){ $this->db = new PDO(mysql:host=.$this->server.;dbname=.$this->dblink, $this->username, $this->password); } // Een Qeury maken public function select($what = , $where = ){ if ($what == || $where == ){ return ERROR: Geen query uitgevoerd!; } else { $sql = "SELECT ".$what." FROM `".$where."`"; $results = $this->db->query($sql); while($row = $results){ return $row[naam].<br>; } } }}// Nieuwe connectie$db = new dbconnection(localhost, root, w8wrd, databasenaam);echo $db->select(*, navigation);?> [linebreak] even het juiste script posten... die ook fout is :(
hier geef je SELECT en '' als selectie...
in databases is '' niks, dus krijg je ook niks...
lijkt mij dan 0:) okj, volgende:
echo $db->select('*', 'navigation');
dus $what word dan toch * en $where word navigation of ben ik dan mis? Onderaan het script roep ik die functie op met:
zet je eerst je $what en $where, op niks...
en dan doorloop je de query(met niks)
en dan onderaan herbenoem je $what en $where met '*' en 'navigation'
probeer anders:
als ik het goed zie:
Ook al eerder geprobeerd, geeft ook een lege pagina.
je sluit je $where wel tussen ``, maar je $what niet..
(voor als je het nog niet door had, ik doe ook maar wat zeggen, ik weet nog niet zo goed hoe OOP php werkt 0:-)) okj, volgende poging :P Die `` zijn niet verplicht
met een count() krijg je zoiezo de namen niet trug, maar het aantal :P nouja zal proberen mee te denken, kan ik uiteindelijk ook alleen maar meer van leren toch?
manier?
en misschien als je onderin zegt:
??
edit:
ik kan me vergissen , maar is dit niet de manier waarop je met die functies moet werken?
je geeft in deze opstelling de waardes aan de variabele, pas als je de functie aanroept, niet andersom toch? heb je beide versie geprobeerd in de
maar zie ik in je code:
maar nergens een $row die aangemaakt word??? :S
Gewijzigd op 01/01/1970 01:00:00 door koen
Code (php) 1234567891011121314151617181920212223242526272829303132333435363738394041 <?phpsession_start();// Database connectclass dbconnection { protected $dblink; private $server, $username, $password, $dbname; public function __construct($server, $username, $password, $dbname) { $this->server = $server; $this->username = $username; $this->password = $password; $this->dbname = $db; $this->open(); } // Open private function open(){ $this->db = new PDO(mysql:host=.$this->server.;dbname=.$this->dblink, $this->username, $this->password); } // Een Qeury maken public function select($what = , $where = ){ if ($what == || $where == ){ return ERROR: Geen query uitgevoerd!; } else { $sql = "SELECT ".$what." FROM `".$where."`"; $results = $this->db->query($sql); while($row = $results){ return $row[naam].<br>; } } }}// Nieuwe connectie$db = new dbconnection(localhost, root, w8wrd, databasenaam);echo $db->select(*, navigation);?> [linebreak]
Gewijzigd op 01/01/1970 01:00:00 door MrX
hier geef je SELECT en '' als selectie...
in databases is '' niks, dus krijg je ook niks...
lijkt mij dan 0:)
Gewijzigd op 01/01/1970 01:00:00 door koen
echo $db->select('*', 'navigation');
dus $what word dan toch * en $where word navigation of ben ik dan mis?
Als je eens select($what = '*', $where = 'navigation') probeert in de functie. En hij doet het dan, dan zit je verkeerd ja.. Anders niet.. ;-)
zet je eerst je $what en $where, op niks...
en dan doorloop je de query(met niks)
en dan onderaan herbenoem je $what en $where met '*' en 'navigation'
probeer anders:
Gewijzigd op 01/01/1970 01:00:00 door koen
Giel schreef op 09.11.2009 15:39:
Ik heb gedaan zoals je zei, het resultaat is nog steeds hetzelfdeAls je eens select($what = '*', $where = 'navigation') probeert in de functie. En hij doet het dan, dan zit je verkeerd ja.. Anders niet.. ;-)
koen schreef op 09.11.2009 15:41:
Dat is niet waar, onderaan roep ik de functie op, als $what en $where niet ingevuld zijn dan pas word het niets en krijg ik ook de melding dat ik niets heb ingevuld.als ik het goed zie:
zet je eerst je $what en $where, op niks...
en dan doorloop je de query(met niks)
en dan onderaan herbenoem je $what en $where met '*' en 'navigation'
zet je eerst je $what en $where, op niks...
en dan doorloop je de query(met niks)
en dan onderaan herbenoem je $what en $where met '*' en 'navigation'
Ook al eerder geprobeerd, geeft ook een lege pagina.
Gewijzigd op 01/01/1970 01:00:00 door MrX
je sluit je $where wel tussen ``, maar je $what niet..
(voor als je het nog niet door had, ik doe ook maar wat zeggen, ik weet nog niet zo goed hoe OOP php werkt 0:-))
Gewijzigd op 01/01/1970 01:00:00 door koen
koen schreef op 09.11.2009 15:50:
Ik had het wel al door maar alle informatie is welkom, het zal wel iets onbenullig zijn waar ik over kijk(voor als je het nog niet door had, ik doe ook maar wat zeggen, ik weet nog niet zo goed hoe OOP php werkt 0:-))
Gewijzigd op 01/01/1970 01:00:00 door MrX
met een count() krijg je zoiezo de namen niet trug, maar het aantal :P
Kijk naar het 2de script die ook fout is, daar staat geen count
manier?
en misschien als je onderin zegt:
??
edit:
ik kan me vergissen , maar is dit niet de manier waarop je met die functies moet werken?
je geeft in deze opstelling de waardes aan de variabele, pas als je de functie aanroept, niet andersom toch?
Gewijzigd op 01/01/1970 01:00:00 door koen