Bij het uitvoeren van volgend script krijg ik een lege pagina te zien.
Ik heb het script ondetussen 500X gelezen en ik zie de fout niet.

SCRIPT:
[php]<?php
session_start();

// Database connect
class 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 Query maken
public function select($what = '', $where = ''){
if ($what == '' || $where == ''){
return 'ERROR: Geen query uitgevoerd!';
} else {
$sql = "SELECT count(".$what.") FROM `".$where."`";
$result = $con->prepare($sql);
$result->execute();
return $result->fetchColumn();
$results = $this->db->query($sql);
while($results = $row){
return $row['naam'].'<br>';
}
}
}
}

// Nieuwe connectie
$db = new dbconnection('localhost', 'root', 'w8wrd', 'dbnaam');
echo $db->select('*', 'tabel');

?>[/php]

BEDOELING:
Toon de namen uit een database-tabel
wil niet gek lijken,
maar zie ik in je code:


<?php
while($results = $row){
            return $row['naam'].'<br>';
?>


maar nergens een $row die aangemaakt word??? :S
even het juiste script posten... die ook fout is :(

[php]<?php
session_start();

// Database connect
class 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');

?>
[/php]
okj, volgende:

select($what = '', $where = '')

hier geef je SELECT en '' als selectie...
in databases is '' niks, dus krijg je ook niks...
lijkt mij dan 0:)
Onderaan het script roep ik die functie op met:
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.. ;-)
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'

probeer anders:

 public function select($what, $where)


Giel schreef op 09.11.2009 15:39
Als je eens select($what = '*', $where = 'navigation') probeert in de functie. En hij doet het dan, dan zit je verkeerd ja.. Anders niet.. ;-)
Ik heb gedaan zoals je zei, het resultaat is nog steeds hetzelfde
koen schreef op 09.11.2009 15:41
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'
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.
public function select($what, $where) 
Ook al eerder geprobeerd, geeft ook een lege pagina.
okj, volgende poging :P

<?php
 "SELECT ".$what." FROM `".$where."`"
?>

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:-))
Die `` zijn niet verplicht
koen schreef op 09.11.2009 15:50
(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:-))
Ik had het wel al door maar alle informatie is welkom, het zal wel iets onbenullig zijn waar ik over kijk
nouja zal proberen mee te denken, kan ik uiteindelijk ook alleen maar meer van leren toch?


$sql = "SELECT count(".$what.") FROM `".$where."`";

met een count() krijg je zoiezo de namen niet trug, maar het aantal :P

Reageren