FEhler in meiner eigenen Klasse

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

FEhler in meiner eigenen Klasse

Beitrag von witzigerkiller »

Hallo, ich sehe immer öfter, das die leute, zum auslesen der daten klassen benutzen. Finde leider den fehler net, ist totales neuland für mich

Code: Alles auswählen

<?PHP
class db
{
  var $query = "";
  
  function display()
  {
    $this->query = mysql_query($this->query);
    $this->query = mysql_fetch_assoc($this->query);
    return $this->query['Vorname'];
  }
}

$db = new db();

$db->query = "SELECT * FROM member";
$db->display();
?>
DAnke
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

also es wird nichts ausgegeben
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

*schieb*
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Gast210225

Beitrag von Gast210225 »

Siehst du irgendwo in dem Code ein echo() ?
Es muss so heißen:

Code: Alles auswählen

echo ( $db->display() );

Viele Grüße,
Johannes
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

gleich ausprobieren.... Danke schonmal
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

so, danke, habe das jetzt mal gemacht....

Habe jetzt versucht aus der DAtenbank verschiedene Spalteneinträge auszulesen:

Code: Alles auswählen

<?PHP

// Verbindungsaufbau

$db_server = "localhost"; // Datenbank Server
$db_benutzer = "root";  // Datenbank Benutzer
$db_passwort = "";  // Datenbank Passwort
$db_name  = "bcp"; // Datenbank Name

$verbindung = mysql_connect($db_server, $db_benutzer, $db_passwort) OR die("Fehler beim Connecten mit der Datenbank: ".mysql_error());

mysql_select_db($db_name) OR die ("Fehler beim Datenbank ausw&auml;hlen: ".mysql_error());

// Datenbank Klasse

class db
{
  // Funktion zum hinzuf&uuml;gen von Eintr&auml;gen
  function insert()
  {
    $this->insert = mysql_query($this->insert);
  }
  // Funktion zum auslesen der Eintr&auml;ge
  function display($ausgabefeld)
  {
    $this->display = mysql_query($this->display);
    $this->display = mysql_fetch_assoc($this->display);
    return $this->display[$ausgabefeld];
  }
}

// Klasse der Datenbank wird aufgerufen
$db = new db();

$db->display = "SELECT * FROM member WHERE Vorname = 'Tobias'";
echo $db->display('Vorname')."<br />";

echo $db->display('id');

?>
nur leider wird das erste echo ausgegebn, und beim 2ten kommt ne fehlermeldung...
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\test\class.php on line 27
aber der mysql befehl muss richtig sein, da er ja das erste feld auch ausliest
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Ja, beim zweiten Aufruf wird auch das
mysql_query()
nochmal ausgeführt. Und $this->display ist zu dem Zeitpunkt kein valider SQL-Query [sondern ein Array].
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

danke, habe die klasse nun so geändert:

Code: Alles auswählen

class db
{
  // Funktion zum hinzuf&uuml;gen von Eintr&auml;gen
  function insert()
  {
    $this->insert = mysql_query($this->insert);
  }
  // Funktion zum auslesen der Eintr&auml;ge
  function display()
  {
    $this->display = mysql_query($this->display);
    $this->display = mysql_fetch_assoc($this->display);
    return $this->display;
  }
}

// Klasse der Datenbank wird aufgerufen
$db = new db();

$db->display = "SELECT * FROM member WHERE Vorname = 'Tobias'";

$db->display();

echo $db->display['Vorname']."<br />";
echo $db->display['id'];
so funzt das auch wunderbar

EDIT: WIE KÖNNTE MAN DAS NOCH BESSER MACHEN? Ich habe auch gelesen, das manche da sowas machen /*@DESC: Titel*/

odersowas, was ist das genau, ist das nötig?
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Antworten

Zurück zu „Coding & Technik“