Klassen & Objekte: Anfängerfrage

Der_Jan

Der_Jan

Aktives Mitglied
Thread Starter
Dabei seit
06.01.2004
Beiträge
712
Reaktionspunkte
30
Guten Abend,
arbeite mich in Objekte und Klassen ein und brauche Rat. Möchte mittels der Klasse Profile MySQL-Abfragen organisieren und die Daten verarbeiten.
Klar, brauche erstmal eine Verbindung zur MySQL und dann die Abfrage des entsprechenden Datensatzes. Das habe ich in der Funktion (bzw. Methode)
DatenbankAbfrage realisiert.

PHP:
<?
class Profile {

function DatenbankAbfrage ($selecteduserid)
{
$request_user=mysql_query("SELECT id, vorname, nachname, land FROM user WHERE id='$selecteduserid'"); 
$result_user=mysql_fetch_array($request_user); 
}


function GetName ()
{
// Hier möchte ich nun das Array aus der Funktion DatenbankAbfrage verarbeiten, z.B. $result_user[vorname]
}

}

?>

Habe versucht in der Funktion GetName auf $result_user[vorname] aus DatenbankAbfrage zuzugreifen. Funktioniert nicht. Kann man das irgendwie machen oder mache ich einen Gedankenfehler?

Danke. :)
Der Jan
 
Ich habe zwar noch nicht in php objekt orientiert gearbeitet, daher kann ich dir nicht 100%ig sagen, was falsch ist.
Aus C++ & Java sicht gesehen machst du vollgenden Fehler:
Die Variable ist nur in der Funktion DBAbfrage definiert und nicht in der Klasse. Deswegen kannst du sie nur in der Funktion lesen und schreiben.
Definiere also eine Klassenvariable, die aus jeder Funktion der Klasse les- und schreibbar ist.

Das könnte so aussehen
Code:
<? 
class Profile { 

$result_user = null;

function DatenbankAbfrage ($selecteduserid) 
{ 
$request_user=mysql_query("SELECT id, vorname, nachname, land FROM user WHERE id='$selecteduserid'");  
$result_user=mysql_fetch_array($request_user);  
} 


function GetName () 
{ 
// Hier möchte ich nun das Array aus der Funktion DatenbankAbfrage verarbeiten, z.B. $result_user[vorname] 
} 

} 

?>
 
zuerst mysql_connect, dann mysql_select_db, dann mysql_query
 
zb sowas:

Code:
<?php
class database
{
        var $connectionID;
        var $result;

        function database($host, $user, $password)
        {
                if (!$this -> connectionID = mysql_connect($host, $user, $password))
                        die("Error at connecting to the mysql-server. Error message:".mysql_error());
        }
        function selectDB($dataBase)
        {
                if(!mysql_select_db($dataBase, $this -> connectionID))
                        die("Error at selecting the database. Error message:".mysql_error());
        }
        function executeQuery($query)
        {
                if(!$this -> result = mysql_query($query, $this -> connectionID))
                        die("Error at executing the query. Error message:".mysql_error());
                return $this -> result;
        }
}
?>
 
Zurück
Oben Unten