Datenbankverbindung (Newbie)

  • Hallo Programmierfreunde,

    ich bin neu und versuche mich jetzt Stück für Stück in php einzuarbeiten, bitte reißt mir nicht den Kopf ab, falls ich Blödsinn frage, es ist schon nicht leicht, wenn man so gar keinen hat, der ein wenig vor Ort unterstützen kann. Ich komm aber hier irgendwie nicht weiter. Falls Infos fehlen gebt mir bitte bescheid. (oder falls ich falsch gefragt habe)

    Also, ich versuche gerade die mysql-Datenbankverbindungen zu erlernen. Die eine Funktion von "Schattenbaum" funktioniert und speichert auch in meiner test-MySQL, die andere von eurer Hilfeseite für Newbies "http://www.php-resource.de/tutorials" (oop) krieg ich nicht zum Laufen, es werden in meinem Test-script keine Daten gespeichert.
    Was übersehe ich hier?

    FUNKTIONIERT:
    mysql_connect("localhost","","");
    mysql_select_db("test");


    FUNKTIONIERT NICHT:

    $verbindung = NULL;
    $dbaktiv = '';

    class datenbank {
    var $host = 'localhost';
    var $user = ''; //sind hochkommas
    var $passwort = '';
    var $dbname = 'test';

    function datenbank($name) {
    global $verbindung;
    $this->dbname = $name;
    if(!$verbindung) $verbindung = @mysql_connect( $this->host, $this->user, $this->passwort);
    if(!$verbindung) die("Keine Verbindung zum Datenbankserver");
    }

    function connect_db( $name) {
    global $verbindung, $dbaktiv;
    $result = @mysql_select_db( $name, $verbindung);
    if(!$result) die("Datenbank ".$name." nicht vorhanden.");
    else $dbaktiv = $name;
    }
    }

  • So wie ich das sehe, ist das Sript, sorry, Schrott! Alleine die Verwendung von global ist ja schon schlimm genug, damit sollte man nie arbeiten, denn das sorgt in der Regel nur für Probleme.

    Weiterhin ist die Klasse schon mal ungünstig gebaut, denn Host und Passwort fest darin zu verdrahten ist sehr unflexible. Und wieso man nicht min. einen Usernamen benötigt, ist mir auch ein Rätsel.

  • okay, thx erstmal für deine Zeit,
    ich kann mich halt, um im ersten Schritt die Grundsachen zu erlernen, mich nur, wie im Grunde immer von Foren erwünscht, auf die angebotenen Links im Eingangsbereich stützen. Hier ist das der Teil von "PHP-Lernseite für Anfänger" bei euch gleich oben an 2. Stelle.

    Wenn das Mist ist, tut mir das Leid, hilft mir aber nicht wirklich weiter...

    Was wäre dein Vorschlag?

    lieben Gruß

  • Lass' erst einmal die Finger von Klassen und lerne die Grundlagen. Wenn die einigermaßen sitzen, dann beschäftige dich mit OOP. Direkt damit anzufangen ist ungefähr so, als wenn jemand bei seiner ersten Fahrstunde auf die Autobahn will.

    Hier mal eine uralte Version von mir: https://www.forum-hilfe.de/threads/37417-…ll=1#post283088

    Die Klammern werden, warum auch immer, hier im Forum nicht richtig angezeigt, aber mit ein paar Substitutes ist das ja schnell korrigiert

    Einmal editiert, zuletzt von Bandit (11. Februar 2012 um 11:39)

  • ...überfordert :(
    Der Output von der Schattenbaumseite, der ja für Anfänger tatsächlich ist, und der Dawonload von eurer Anfängerseite erschließt sich mir noch halbwegs.
    egal, dann brechen wir hier ab, dachte, es gibt einen klaren Fehler in diesem code, warum der nicht funktioniert.

    besten Dank soweit