mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 08.12.2016 23:21 Benutzername: Passwort: Auto-Login

Thema: [PHP] OOP -> Problem vom 27.07.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] OOP -> Problem
Autor Nachricht
clone
Threadersteller

Dabei seit: 18.03.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 27.07.2006 16:22
Titel

[PHP] OOP -> Problem

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich sitz hier jetzt schon einige Zeit an dem "Problemchen" - vermutlich ist es ziemlich banal, aber ich komm einfach nicht drauf.

Hier die Dateien:

./lib/mysql.class.php <== einfach mysql Klasse
./lib/user.class.php <== Benutzerverwaltung (hinzufügen, ...)
./admin/useradministration/user_administration.php <== das Skript.

userAdministration.php.
Code:
siehe unten


user.class.php
Code:
siehe unten


mysql.class.php

Code:
siehe unten


Fehler: query is non object ...


Zuletzt bearbeitet von clone am Fr 28.07.2006 17:23, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 41
Geschlecht: Männlich
Verfasst Do 27.07.2006 18:26
Titel

Antworten mit Zitat Zum Seitenanfang

wo sind denn die 2 funktionen die du aufrufst, ich sehe in deiner user klasse nur die adduser funktion
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
tacker

Dabei seit: 22.03.2002
Ort: Offenbach am Main
Alter: 36
Geschlecht: Männlich
Verfasst Fr 28.07.2006 10:42
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
$query = mysql->query($sql);
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 31
Geschlecht: Männlich
Verfasst Fr 28.07.2006 10:55
Titel

Antworten mit Zitat Zum Seitenanfang

tacker hat geschrieben:
Zitat:
$query = mysql->query($sql);


wörd Lächel mysql_query oder $mysql->query *bäh*
  View user's profile Private Nachricht senden
clone
Threadersteller

Dabei seit: 18.03.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 28.07.2006 17:22
Titel

Antworten mit Zitat Zum Seitenanfang

danke ersteinmal für die antworten.
In der gestrigen Eile bin ich wohl etwas durch einander gekommen, deswegen hier nochmal die Dateien:

user.class.php
Code:

<?php
class userAdministration {
     
      function addUser($username, $realname, $email, $pwd, $desc, $group, $params) {
               $sql = "INSERT INTO ses_user VALUES (NULL, '".$username."', MD5('".$pwd."'), '".$email."', '".$realname."', '".$desc."', '".$group."', NULL, NOW(), NULL, '".$params."')";
               $mysql->query($sql);      }
?>


mysql.class.php
Code:
<?php
class databaseClass {
  var $connection = NULL;
  var $result = NULL;

  function connect($host, $user, $pass, $database) {
    $this->connection = mysql_connect($host, $user, $pass, true);
    mysql_select_db($database, $this->connection);
  }

  function disconnect() {
    if(is_resource($this->connection)) {
      mysql_close($this->connection);
    }
  }

  function query($query) {
    if(is_resource($this->connection)) {
      if(is_resource($this->result)) {
          mysql_free_result($this->result);
      }
      $this->result = mysql_query($query, $this->connection);
    }
  }

  function fetchRow() {
    if (is_resource($this->result)) {
        $row = mysql_fetch_assoc($this->result);
        if (is_array($row)) {
            return $row;
        } else {
            return false;
        }
    }
  }
 
  function affectedRows() {
    print "Es sind ".mysql_affected_rows()." Datensätze betroffen<br>\n";
  }
}
?>


mysql.inc.php

Code:
<?php
require_once ("lib/mysql.class.php");
require_once ("config.inc.php");
$mysql = new databaseClass;
$mysql->connect($sesConfig['host'], $sesConfig['user'], $sesConfig['pwd'], $sesConfig['db']);
?>


user_administration.php
Code:
<?php
require("../../mysql.inc.php");
require("../../config.inc.php");
require("../../lib/user.class.php");
#new class
$user = new userAdministration;

if($_GET['action'] == "add") {
 $user->addUser("tffestuser", "Name", "mail@mail.de", "1234", "", "1", "\$active=false");
}
?>


Genaue Fehlermeldung:


Fatal error: Call to a member function query() on a non-object in *\lib\user.class.php on line 12


die $_GET['*'] sind nur zum Testen.

Mit freundlichen Grüßen,
clone


Zuletzt bearbeitet von clone am Fr 28.07.2006 17:24, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 41
Geschlecht: Männlich
Verfasst Fr 28.07.2006 17:32
Titel

Antworten mit Zitat Zum Seitenanfang

woher soll denn in der userclass die funktion wissen obs eine db verbindung gibt, hast du die db verbindungim __construct() fest drin?

fakt ist, er will auf ein objekt zugreifen das nicht existiert. sprich $mysql existiert nicht, ergo kann er auch nicht auf die funktion ->query() zugreifen.


Zuletzt bearbeitet von pRiMUS am Fr 28.07.2006 17:34, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [PHP] OOP-Problem - Suche Instanz
OOP mit PHP
[php] Grundlagen OOP - extends
OOP in PHP für Noob - Formulardaten verarbeiten
OOP AS2
[Flash --> OOP] Klassenproblem
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.