kostenloser Webspace werbefrei: lima-city


Mysqli Datenbankinhalt per query auslesen geht nicht

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    forstudents

    forstudents hat kostenlosen Webspace.

    Heyho, ich hoffe ich bin diesmal im richtigen Forenbereich ;)
    Probiere schon mehrere Tage und finde einfach das Problem nicht.
    Auf Localhost klappt alles einwandfrei, bin mir nicht sicher ob es an lima-city liegt, oder an meiner Dummheit.
    Datenbankanbindung per Mysqli:
    $dbc = new mysqli('mysql.lima-city.de','$username,'$passwort','$datenbank','3306');


    Und an der Stelle der Loginfunktion tut er nichts. Das seltsame: Daten schreiben kann er beispielse mir:
    if($dbc->query("INSERT into user(username,passwort,name,vorname,email,online,regdate) values('$username','$passwort1','$nachname','$vorname', '$email',1,current_timestamp);")){
    echo "<div id=\"registermeldung\">Da basscho!</div>";
    }


    Allerdings funktioniert das auslesen der Daten aus der Datenbank nicht, es gibt keinerlei Fehlermeldung, selbst wenn ich alle Abfragen starte. Hier der Logincode mit dem wichtigen Teil:
    if (isset($_SESSION['start'])){
            if($_SESSION['username'] AND $_SESSION['password']){
                        $query = "SELECT * from user WHERE username='".$_SESSION['username']."';";
                        $result = $dbc->query($query);                                             <== PROBLEMSTELLE 
                        var_dump($result);                                                                  <== liefert NULL, obwohl "username" & "passwort" bereits in DB
                        if (!$result) {
                        echo "state:".$dbc->sqlstate;
                        echo "errno:".$dbc->errno;
                        echo "error:".$dbc->error;
    
                         printf("Errormessage: %s\n", $dbc->error);
                        }
                        if($result){
                            while ($row = $result->fetch_object()) {
                                    $_SESSION['dbusername'] = $row->username;
                                    $_SESSION['dbpassword'] = $row->passwort;
                                    $_SESSION['id'] = $row->iduser;
                                    $_SESSION['vorname'] = $row->vorname;
                                    $_SESSION['lastname'] = $row->name;
                                        if($_SESSION['dbusername'] == $_SESSION['username'] AND $_SESSION['dbpassword'] == $_SESSION['password']){
                                            $_SESSION['eingeloggt'] = TRUE;
                                        }
                                        else{
                                            echo "warum 2";
                                            $fehlermeldung="Falscher Benutzername oder Passwort";
                                            unset($_SESSION['start']);
                                            $_SESSION['Fehler']=$fehlermeldung;
                                        }
                            }
                        }
                }
                else{
                    $fehlermeldung ="Beide Felder ausf&uuml;llen";
                    $_SESSION['Fehler']=$fehlermeldung;
                    unset($_SESSION['start']);
                }
            }


    Wer die nicht vorhandenen Fehler selbst erkunden möchte:
    forstudents.lima-city.de

    Würde mich wahnsinnig über Hilfe freuen, da ich bereits den dritten Tag in Folge "teste, prüfe, nachlese, hochlade" und immer wieder feststelle, dass ich es so mache, wie andere sagen, dass es klappen muss.

    Danke schonmal im Voraus
    Gruß
    greg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    forstudents schrieb:
    Datenbankanbindung per Mysqli:
    $dbc = new mysqli('mysql.lima-city.de','$username,'$passwort','$datenbank','3306');
    Da ist schon was falsch, es müsste so aussehen:
    $dbc = new mysqli('mysql.lima-city.de', $username, $passwort, $datenbank, 3306);
    Du hast da ein paar Anführungszeichen zu viel drin (oder zumindest die falschen)...
  4. Autor dieses Themas

    forstudents

    forstudents hat kostenlosen Webspace.

    Ähhmm... ja,
    ich hab im original die richtigen Werte drin, deshalb auch die Anführungszeichen, bzw. ' - zeichen.
    Ich hab sie nur schnell überschrieben ;) Datenschutz und so ;) Deshalb können da "unregelmäßigkeiten drinnen sein. Im Original ist jedenfalls alles konform. Sonst würds bei localhost ja auch ned gehen, wenn ein Syntaxfehler drin wäre. Bzw. das Datenbankschreiben würden nicht funktionieren, wenn ich einen Zugriffsfehler im Connectioonbereich hätte.

    Soweit ich das aber bisher nachgelesen habe, müssen die Zeichen stehen, wenn man Strings nimmt, anstatt Variablen.

    Trotzdem Danke schonmal fürs Code-wühlen :)

    Edit:
    Ich idiot, was bringt euch die Seite... ohne Zugriffsnamen...

    Also was funktioniert, ist sich anzumelden unter "registrieren". Die Daten landen tatsächlich in der Datenbank.
    Aber wen ihr die Daten dann reinhämmert, macht er nichts. Genauso mit bereits bestehenden Daten.
    Ihr könnt versuchen:
    Username: SeGreg oder Aylin
    Passowort: Voodoo eiei

    Beitrag zuletzt geändert: 1.9.2012 21:48:02 von forstudents
  5. Warum brauchst du im Query ein Semikolon?

    Ist das bei mysqli jetzt so?

    MfG
    Dominic
  6. Autor dieses Themas

    forstudents

    forstudents hat kostenlosen Webspace.

    Meines Wissens ist schon seit Mysql 1,0 der ";" der Abgrenzer von SQL Befehlen. Ich hab den bisher immer an jede Anfrage an den Schluss gesetzt um Problemen mit der Datenbank aus dem Weg zu gehen.

    Aber da ich ja für jeden Rat dankbar bin, hab ich den nun weggemacht, funktioniert trotzdem nicht.
    Ich hab darüberhinaus die Fehlermeldung "erweitert", in der deutlich wird, dass er die Auswertung der Daten überspringt, da : !$result
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!