kostenloser Webspace werbefrei: lima-city


Problem mit: $stmt->bind_result

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    bastitrial

    Kostenloser Webspace von bastitrial

    bastitrial hat kostenlosen Webspace.

    Hallo,
    ich versuche zurzeit eine Datenbankabfrage für ein Login zu bearbeiten. Da bin ich auf folgendes Problem gestoßen:

    if ($keininhalt == false) {
    			//Daten aus Datenbank
    			$stmt = $verbindung->prepare("SELECT `uid`, `rechte`, `aktiviert`, `cookie_hash` FROM `benutzer` WHERE `benutzername` = ? AND `passwort` = ?");
    			$stmt->bind_param('ss', $bernutzernm, $passwrt_md5); 
    			$stmt->execute(); 
    			$stmt->store_result(); 
    			$stmt->bind_result($uid, $rechte, $aktiv, $cookie); 
    			
    			if ($query->num_rows == 1) {
    				$_SESSION['triusemlieut'] = true;
    				$_SESSION['triusemdlieiut'] = $uid;
    				echo "1<br>";
    				if ($rechte == 1) {
    					$_SESSION['triusemlieutre'] = "einfach";
    				} else {
    					if ($rechte == 2) {
    						$_SESSION['triusemlieutre'] = "expert";
    						echo "2<br>";
    					}
    				}
    				if (isset($_POST['erinner_mich'])) {
    					setcookie( 'tusiemlieut', $cookie, time()+3200);
    				}
    				if ($aktiv == 1) {
    					$_SESSION['erster_login'] = true;
    					echo "3<br>";
    					header('location: ../../');
    					exit;
    				} else {
    					if ($aktiv == 2) {
    					echo "4<br>";
    						header('location: ../../member/');
    						exit;
    					}
    				}
    				echo "huhu";
    			} else {
    				echo "5<br>";
    				$_SESSION['fehler1002'] = true;
    				header('location: ../../');
    				exit;
    			}


    Es findet einfach kein Datensatz bzw nur den ersten ... :/

    Wo liegt das Problem?

    LG
    Basti
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hast du schon versucht die Zeile
    if ($query->num_rows == 1) {
    durch
    if ($query->num_rows > 0) {
    zu ersetzen? Mag sehr einfach klingen, aber dein Script wird nur ausgeführt, wenn exakt 1 Benutzer gefunden wird, vielleicht gibt es in deiner Datenbank Redundanzen & somit wird quasi kein Benutzer gefunden, denn wenn nicht == 1, dann 0 bei dir.
  4. Autor dieses Themas

    bastitrial

    Kostenloser Webspace von bastitrial

    bastitrial hat kostenlosen Webspace.

    Hatte ich :/ Ich hatte dann einfach nur noch die Zeile:
    if ($stmt->num_rows == 1) {
    $stmt->fetch();

    hinzugefügt :)

    Jetzt kann sich der erste welcher in der Datenbank entahltene anmlden... Der rest nicht :/
    Muss man hier eine While schleife einauen?
  5. 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!