Guten Tag zusammen!
Ich habe in diesem Board in den letzten Wochen sehr viele Informationen gesucht und auch gefunden, dafür zuerst mal vielen Dank an alle.
Nun zu meinem Problem:
In den letzten Wochen habe ich als Aufgabe für eine Ausarbeitung an der Uni die Erstellung einer Onlineumfrage mit PHP und MySQL erhalten.
Dazu habe ich mich in PHP und MySQL eingelesen und angefangen die Webseite zu programmieren. Mit den klassischen mysql Abfragen habe ich das alles hinbekommen.
Nun meinte mein Prof jedoch, nutzen sie mysqli, kapseln sie alle Datenbankzugriffe in einer Klasse und nutzen sie die objektorientierte Schnittstelle zum Zugriff auf die Datenbank.
Ich hatte meine Seite zuvor in dieser Art aufgebaut:
Nun soll ich diese Abfrage ja in einer Klasse kapseln, was bei mir dann so aussieht:
Leider funktioniert das ganze nicht und es erscheint folgende Meldung:
Zeile 41 ist die Zeile, in welcher mit fatch_assoc auf die Abfrage zugegriffen werden soll.
Bei folgendem Gedanken stecke ich dabei fest: da die Klasse db_zugriff von mysqli erbt, erbt sie nicht die mysqli_result Funktionen und demnach kann ich auf diese nicht zugreifen.
Leider finde ich zu dem Thema relativ wenig im Internet und in meinem PHP- Buch (PHP5 MySQL5 von Matthias Kannengiesser) steht zu diesem Thema auch nichts (zumindest finde ich leider nichts).
Habt Ihr eine Idee, wie ich die MySQLi-Abfragen möglichst einfach Kapseln kann?
Vielen Dank im Voraus
Ich habe in diesem Board in den letzten Wochen sehr viele Informationen gesucht und auch gefunden, dafür zuerst mal vielen Dank an alle.
Nun zu meinem Problem:
In den letzten Wochen habe ich als Aufgabe für eine Ausarbeitung an der Uni die Erstellung einer Onlineumfrage mit PHP und MySQL erhalten.
Dazu habe ich mich in PHP und MySQL eingelesen und angefangen die Webseite zu programmieren. Mit den klassischen mysql Abfragen habe ich das alles hinbekommen.
Nun meinte mein Prof jedoch, nutzen sie mysqli, kapseln sie alle Datenbankzugriffe in einer Klasse und nutzen sie die objektorientierte Schnittstelle zum Zugriff auf die Datenbank.
Ich hatte meine Seite zuvor in dieser Art aufgebaut:
PHP-Code:
mysql_connect("localhost","root","");
mysql_select_db("akadumfrage");
// ...
$fragenliste = mysql_query("SELECT * FROM tbl_Fragen ORDER BY FrageID");
while($fragen = mysql_fetch_array($fragenliste)) {
// Fragen ausgeben
}
PHP-Code:
class db_zugriff extends mysqli
{
private $mysql;
//Datenbankverbindung herstellen
public function __construct()
{
$this->mysql = new mysqli('localhost', 'root', '', 'akadumfrage');
if (mysql_query("SELECT 1")) { echo 'its connected'; } else { echo 'not connected'; }
}
public function liste_fragen() {
$result = $this->mysql->query('SELECT * FROM tbl_Fragen ORDER BY FrageID');
return $this->mysql->$result;
}
}
//...
while($row = fetch_assoc($db->liste_fragen()))
{ echo $row['Fragetext']."<br>"; }
Fatal error: Call to undefined function fetch_assoc() in C:\xampp\htdocs\akadumfrage-neu\inc\umfrage.php on line 41
Bei folgendem Gedanken stecke ich dabei fest: da die Klasse db_zugriff von mysqli erbt, erbt sie nicht die mysqli_result Funktionen und demnach kann ich auf diese nicht zugreifen.
Leider finde ich zu dem Thema relativ wenig im Internet und in meinem PHP- Buch (PHP5 MySQL5 von Matthias Kannengiesser) steht zu diesem Thema auch nichts (zumindest finde ich leider nichts).
Habt Ihr eine Idee, wie ich die MySQLi-Abfragen möglichst einfach Kapseln kann?
Vielen Dank im Voraus

Kommentar