2017-02-12 4 views
0

Ich versuche, Benutzerinformationen aus der Datenbank zu bekommen, aber es gibt mir ein leeres Array.
Code: i.stack.imgur.com/Op4HB.pngPHP - Mysqli | Ich versuche, Daten auszugeben, aber ich bekomme immer leer Array

$information = array(); 
$user = 'admin'; 
$myuser = new mysqli(HOST, USER, PASSWORD, DATABASE); 

if ($info = $myuser->prepare("SELECT id,username,email,bd,firstname,lastname,gender,ppicture,cpicture FROM members WHERE username = ?")) { 
    $info->bind_param("s", $user); 
    /* execute query */ 
    $info->execute(); 
    /* get result */ 
    $result = $info->get_result(); 
    /* bind result variables */ 
    $info->bind_result($information['id'],$information['username'],$information['email'],$information['birthday'],$information['first_name'],$information['last_name'],$information['gender'],$information['profile_picture'],$information['cover_picture']); 
    $info->fetch(); 
    $rows = $result->num_rows; 
    $info->close(); 
} 
if (!$rows) { 
    redirect('http://example.com/'); 
} else { 
    print_r($information); 
} 

das ist, was ich bekommen: result

kann mir jemand dabei helfen? Ich benutze mysqli die ganze Zeit, aber ich weiß nicht, was diesmal schief gelaufen ist.

danke.

+0

Sie Ihren Code korrekt formatiert werden soll, so ist es einfacher – NoLiver92

+0

dank zu lesen, seine mein erster Beitrag und ich weiß nicht, wie man das –

+0

zu tun @SaifEddin Versuchen zu entfernen '$ info-> close();' – affaz

Antwort

0

ich es fixiert mich

ich die Antwort auf http://php.net gefunden

danke trotzdem!

<?php 

    $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); 

    if ($mysqli->connect_errno) { 
     echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
    } 

    $query = "SELECT id,username,email,bd,firstname,lastname,gender,ppicture,cpicture FROM members WHERE username = ?"; 
    $stmt = $mysqli->prepare($query); 
    $stmt->bind_param("s", $user); 
    $stmt->execute(); 
    $res = $stmt->get_result(); 
    $rows = $res->num_rows; 
    $information = $res->fetch_assoc(); 

    if($rows == 0) { 
     redirect("http://example.com"); 
    } 

    print_r($information); 


?> 

PS: account.php von index.php erforderlich wird, so wird es 'user $' von dort

Ausgang

Array ([ id] => 15 [Benutzername] => admin [email] => [email protected] [bd] => 2017-02-07 [Vorname] => Saif [Nachname] => Eddin [Geschlecht] => männlich [] ppicture] => 1f4 c1b47a3910039e60851c453ae4d80_a.jpg [cPicture] => default_c.jpg)

0

Versuchen Sie, diese

& Anzeige der Ergebnisse innerhalb der while-Schleife Fetch

if ($info = $myuser->prepare("SELECT id,username,email,bd,firstname,lastname,gender,ppicture,cpicture FROM members WHERE username = ?")) { 
     $info->bind_param("s", $user); 
     /* execute query */ 
     $info->execute(); 
     /* get result */ 
     $result = $info->get_result(); 
     /* bind result variables */ 
     $info->bind_result($information['id'],$information['username'],$information['email'],$information['birthday'],$information['first_name'],$information['last_name'],$information['gender'],$information['profile_picture'],$information['cover_picture']); 

     $rows = $result->num_rows; 

    } 
    if (!$rows) { 
     redirect('http://example.com/'); 
    } else { 
    while ($info->fetch()) { 
      print_r($information); 
     } 

    } 

EDIT

if ($info = $myuser->prepare("SELECT email FROM members WHERE username = ?")) { 
      $info->bind_param("s", $user); 
      /* execute query */ 
      $info->execute(); 

      /* bind result variables */ 
    $info->bind_result($email); 

    $info->fetch(); 

    printf("%s \n", $email); 
} 
+0

nein, jetzt zeigt es nichts nichts nicht einmal das leere Array –

+0

@SaifEddin versuchen Sie den Code in meiner Bearbeitung, nur um zu überprüfen, ob es gut ausgeführt, von nur die E-Mail dieses Benutzers abrufen – affaz

+1

Ich habe nur eine Antwort hinzugefügt, ich habe es selbst behoben –

Verwandte Themen