Seite 1 von 2

sql classe striket mal wieder

Verfasst: 13.08.2006 15:30
von witzigerkiller
also wie ihr wisst kann ich keine classen, und ich hab die wo ich jetzt habe mal so zammgemurkselt:

Code: Alles auswählen

<?PHP
class db
{  
  // Query
  function sql_query($sql)
  {
    $this->query = $sql;
    
    if (!empty($this->query))
    {
      $query = mysql_query($this->query);
      
      if (!$query)
      {
        die(mysql_error());
      }
      else
      {
        return $query;
      }
    }
    else
    {
      return false;
    }
  }
  
  function sql_assoc($result)
  {
    $this->assoc = $result;
    
    if (!empty($this->assoc))
    {
      $assoc = mysql_fetch_assoc($this->assoc);
      
      if (!$assoc)
      {
        die(mysql_error());
      }
      else
      {
        return $assoc;
      }
    }
  }
  
}
?>
die sql_connection und sql_freeresult funktionen funktionieren deshalb hab ich die rausgenommen sonst ist der code zu lang

aber die function sql_assoc will nicht so ganz:

Code: Alles auswählen

// insert the code into mysql
$sql = "SELECT * FROM ".$table_prefix."confirm WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
$result = $db->sql_query($sql);

$assoc = $db->sql_assoc($result);
ja, also ich bitte um hilfe

es gibt keine fehlermeldung, nur ne leere weise seite

Verfasst: 13.08.2006 16:15
von Pyramide
Was soll man jetzt unter "will nicht so ganz" verstehen? Hast du vielleicht wieder vergessen, die DB mit Inhalt zu füllen? ;-)

PS: auch wenn das nicht die Fehlerursache sein sollte, halte ich es für eine schlechte Idee, wenn $this->query und $query völlig verschiedene Inhalte haben.

Verfasst: 13.08.2006 16:21
von witzigerkiller
häh? was? ich versteh nur banhof gerade, also ich habe im php schon alles richtig gemacht nur eben diese funktion für mysql_fetch_assoc will nicht arbeiten...

könntest du mir das ummodeln? ich versteh von den classen null aber ich will eine XD. ich weiß ich soll lesen, verstehen und lernen, das hab ich auch vor, aber damit ich weiterkomme brauch ich unbedingt bald diese dämliche klasse...

ps das query und die classe sind eigentlich fast 1:1 vom phpbb db/mysql4.php übernommen

Verfasst: 13.08.2006 16:24
von Pyramide
witzigerkiller hat geschrieben:also ich habe im php schon alles richtig gemacht nur eben diese funktion für mysql_fetch_assoc will nicht arbeiten...
Wenn du alles richtig gemacht hast, würde es ja funktionieren.

Und was genau funktioniert jetzt nicht? Kommt eine Fehlermeldung "hi, ich bins mysql_fetch_assoc und ich will heute nicht arbeiten"? :o

Verfasst: 13.08.2006 16:25
von witzigerkiller
es kommt nur eine weiße seite, und wenn ich das im php also das $db->sql_assoc wieder rausnehme wird mein template wieder ausgegeben ansonsten kommt eine weise seite

Verfasst: 13.08.2006 17:35
von Miriam
Steh' ich jetzt auf dem Schlauch oder Du?
Du redest doch von einem phpBB oder nicht? Wie kommt es dann, dass Du $db als Objektvariable verwendest?

Bei Deiner selbstgebauten Klasse, die nun schon db heisst, kannst Du die Objekte der Klasse nicht mit (z.B.) $db->sql_assoc($result); ansprechen, denn die Objektvariable ist schon verkauft......
Nämlich durch:

Code: Alles auswählen

$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
Was bei Dir eine funktionierende Klasse zu sein scheint, ist die Antwort der Funktionen aus der Klasse sql_db, die unglücklicherweise in der Objektvariablen $db initialisiert wurde.

Du solltest eher so vorgehen, wenn Du nun schon eine eigene Klasse bauen willst:

Code: Alles auswählen

$db_new = new db;
$assoc = $db_new->sql_assoc($result);
Oder Du erweiterst die bestehende Klasse des phpBB um Deine neue Funktion....

*Habe ich vielleicht auch was falsch an Deiner Problematik verstanden?*

Verfasst: 13.08.2006 17:45
von witzigerkiller
ach ich schmeis meine class einfach weg, die dinger sind *selbstzensiert*

warum? weil ich angst vor bannung habe

Sry wenn ich das so sage, ist meine meinung.

@Pyra: nicht gleich wieder bannen, bitte

Verfasst: 13.08.2006 17:52
von fanrpg
ach ich schmeis meine class einfach weg, die dinger sind schwul..
Nein sind sie nicht.
Man muss sich nur mal mit denen befassen. z.B auf www.php.net
Oder gucke dir die von phpBB an.

Verfasst: 13.08.2006 17:54
von mad-manne
witzigerkiller hat geschrieben:ach ich schmeis meine class einfach weg, die dinger sind schwul..
Nur weil dir das Schreiben einer eigenen PHP-Class offenbar zu schwer ist, sind diese noch lange nicht schwul!
@Pyra: nicht gleich wieder bannen, bitte
Dann versuche dir doch derart unkonstruktive Beiträge in Zukunft zu verkneifen :roll:

Gruss,
Manne.

P.S. Bei der Gelegenheit könntest du gleich mal deine Signatur mit den Regeln(KB:knigge) in Einklang bringen ... Danke!

Verfasst: 13.08.2006 17:59
von Miriam
Hey killer,
die Klasse war schon okay.. nur eben falsch angesprochen *sozusagen*

Oder:
Du brauchst doch die bestehende Klasse sql_db nur noch erweitern und schon funzt es.....

Nun hab' Dich mal nicht so. :-?