• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Meine 1. Klasse

Status
Für weitere Antworten geschlossen.

CrackPod

Neues Mitglied
Joah wie der Titel schon sagt:
Ich hab mir einfach mal ne Klasse geschrieben, die sich mit MySQL "befasst" :)
Hab aber grade noch keine Anwendung(müsste alle codes umschreiben=>zu faul). Will aber wissen, ob da Fehler drinnen sind...
Es müssen nich unbedingt "logische" Fehler sein, sondern schaut mal bitte, ob ich da nicht vllt "quellcodetechnische" Fehler drinnen hab...
Ihr kennt mich in bin in Fragestellungen nich gut, aber ihr habt mich sicher verstanden ;P

[php:1:5bbed98410]<?php
class MySQL {
var $db_host;
var $db_user;
var $db_pw;
var $db_db;
var $query;
var $connection;
function MySQL ($host = "localhost", $user = "root", $pw = "", $db = "") {
if($this->connect($host,$user,$pw)) echo 'Verbindung zu '.$host.' erfolgreich hergestellt
';
if($this->selectDB($db)) echo 'Datenbank '.$db.' erfolgreich ausgew&auml;hlt
';
}
function connect($host,$user,$pw) {
$this->connection = mysql_connect($host, $user, $pw);
}
function selectDB($db) {
mysql_select_db($db,$this->connection);
}
function dbQuery($query) {
return mysql_query($query,$this->connection);
}
function connectionClose($connection) {
mysql_close($connection);
}
}
$host = "localhost";
$user = "root";
$dbpwd = "";
$db = "gfx-force";
$mysql = new MySQL;
$mysql->MySQL($host,$user,$dbpwd,$db);

?>[/php:1:5bbed98410]
& Thx 4 looking
Wenn jmd will kann er die Klasse verwenden :wink:
<--Greetz CrackPod-->
 
Werbung:
ich glaube das ist soweit richtig nur würde ich grundsätzlich lieber die klassenstruktur von php anwenden. :)
 
Werbung:
anstatt var benutzt du public / privat / protected und vor deine funktionen kommt das auch. auserdem musst du consstructor und destructor angeben (__construct / __destruct (ohne namen der klasse wird aber später darüber aufgerufen))

php5
 
ich würde das passwort und den datenbank namen auch noch als konstruktor parameter übergeben. dann kann man sich auch die methoden connect und selectdb sparen.
 
naja aber ich lern jetz erstmal mit klassen umzugehen und dann will ich php5 klassen lernen...

Ich denk dass das leichter ist. Wenn nicht sags mir pls.... :wink:

Außerdem hab ich noch kein PHP5 Klassen Tut gefunden. Das von dir, Prohphet, hab ich ned gepeilt:lol:
 
Werbung:
ich würde sagen es ist sinnvoller gleich damit zu beginnen bevor man sich mit veralteten dingen gewohnheiten anleiert...
 
bei php 5 sind die möglichen features eher an programmiersprachen wie c++ oder java angelegt. im endeffekt kann man damit sauberer programmieren, was damit auch zu einer vereinfachung führt. allerdings wäre es dazu praktisch, wenn man schon mal was von methoden bzw member sichtbarkeit gehört hat. ansonsten kann das unverständlich sein. die php doku ist ein guter startpunkt, da wird das thema ausführlich beschrieben.

mit der richtigen konfiguration sagt einem der php-parser auch, was nicht php 5 style ist. weiss aber gerade nicht welche einstellung das ist. e_strikt?
 
ich such mir einfach mal ein gutes php5 tut :roll:

achja ich hab den QC geupdated...
Ich bekomm keine Ausgabe...

Warum?
 
Werbung:
naja aber egtl ist es ja so wenn ich [php:1:a15ca049a6]<?php
$host = "localhost";
$user = "root";
$dbpwd = "";
$db = "gfx-force";
@$verbindung = mysql_connect($host, $user, $dbpwd);
mysql_select_db($db);
if($verbindung) echo 'super gut gemacht'; ?>[/php:1:a15ca049a6]
hab dann geht das ja auch -.- egal ich mach mal noch ein return


EDIT:
[php:1:a15ca049a6]<?php
function MySQL ($host = "localhost", $user = "root", $pw = "", $db = "") {
if($this->connect($host,$user,$pw)) echo 'Verbindung zu '.$host.' erfolgreich hergestellt
';
if($this->selectDB($db)) echo 'Datenbank '.$db.' erfolgreich ausgew&auml;hlt
';
}
function connect($host,$user,$pw) {
$this->connection = mysql_connect($host, $user, $pw);
if($this->connection) return true;
}
function selectDB($db) {
if(mysql_select_db($db,$this->connection)) return true;
}

?>[/php:1:a15ca049a6]
Ausgabe:
Verbindung zu localhost erfolgreich hergestellt
Verbindung zu localhost erfolgreich hergestellt
Datenbank gfx-force erfolgreich ausgewählt
[php:1:a15ca049a6]<?php
function MySQL ($host = "localhost", $user = "root", $pw = "", $db = "") {
if($this->connect($host,$user,$pw)) echo 'Verbindung zu '.$host.' erfolgreich hergestellt
';
if($this->selectDB($db)) echo 'Datenbank '.$db.' erfolgreich ausgew&auml;hlt
';
}
function connect($host,$user,$pw) {
$this->connection = mysql_connect($host, $user, $pw);
#if($this->connection) return true;
}
function selectDB($db) {
if(mysql_select_db($db,$this->connection)) return true;
}

?>[/php:1:a15ca049a6]
Ausgabe:
Datenbank gfx-force erfolgreich ausgewählt

So ein Krampf.... -.- Wieso gibt er mir zuerst nix und dann 2 mal dasselbe zurück?
 
da "missbrauchst" du ja auch $verbindung als rückgabewert. bei der klasse oben wird immer nix zurückgegeben, d.h. du kannst auch keine if-abfrage (sinnvoll) durchführen.
 
Werbung:
[php:1:c19b73ea67]<?php
function MySQL ($host = "localhost", $user = "root", $pw = "", $db = "") {
$this->connect($host,$user,$pw);
if($this->connection) echo 'Verbindung zu '.$host.' erfolgreich hergestellt
';
if($this->selectDB($db)) echo 'Datenbank '.$db.' erfolgreich ausgew&auml;hlt
';
}
function connect($host,$user,$pw) {
$this->connection = mysql_connect($host, $user, $pw);
return $this->connection;
}
function selectDB($db) {
if(mysql_select_db($db,$this->connection)) return true;
}
?>[/php:1:c19b73ea67]
Ich fand das ne gute Möglichkeit, aber die ausgabe bleibt-.-
Verbindung zu localhost erfolgreich hergestellt
Verbindung zu localhost erfolgreich hergestellt
Datenbank gfx-force erfolgreich ausgewählt

Edit:
Hab den Fehler gefunden
[php:1:c19b73ea67]<?php
$mysql = new MySQL($host,$user,$dbpwd,$db);
?>[/php:1:c19b73ea67]
So ist es richtig, denn bei new rufe ich den Konstruktor schon auf...
Also mal wieder ein richtig banaler fehler :roll:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben