ich versuche mich gerade daran eine Klasse für MySql zu schreiben, jedoch komme ich an einer Stelle nicht weiter. Meine "SELECT"-Funktion sieht folgender Maßen aus:
- Code: Select all
function select($tabelle, $keys, $optionen = "") {
$spalten = "";
foreach($keys as $k) {
$spalten .= $k.", ";
}
$spalten = substr($spalten, 0, -2);
$sql = "SELECT ".$spalten." FROM ".$tabelle." ".$optionen;
if (!$this->db->query($sql)) {
$this->error = "Konnte Query nicht ausführen: ".$this->db->error." (".$this->db->errno.")<br>[".$sql."]";
return false;
}
if(!$ergebnis = $this->db->store_result()) {
$this->error = "Konnte Ergebnis nicht lesen: ".$this->db->error." (".$this->db->errno.")";
return false;
}
else {
$i = 0;
while ($zeile = $ergebnis->fetch_assoc()) {
$daten[$i++] = $zeile;
}
return $daten;
}
}
Jetzt wird jedoch immer der Fehler "Konnte Ergebnis nicht lesen" ausgegeben. Jedoch liefert mysqli selber keinen Fehler zurück, daher weiß ich grad nicht wo dieser liegt. Lasse ich diese Abfrage weg, liefert PHP beim Aufruf von "$ergebnis->fetch_assoc()" den Fehler, dass "$ergebnis" kein Objekt sei.
Mein Testaufruf sieht so aus:
- Code: Select all
$spalten = array("id", "eintrag");
if($ergebnis = $dbase->select("tabelle", $spalten)) {
foreach($ergebnis as $zeile) {
echo "(".$zeile['id'].") ".$zeile['eintrag']."<br>";
}
}
else {
die($dbase->error());
}
Vllt. kann mir einer von euch mal wieder helfen