2017-02-12 5 views
0

Я пытаюсь получить информацию о пользователях из базы данных, но он продолжает давать мне пустой массив.
код: i.stack.imgur.com/Op4HB.pngPHP - Mysqli | Я пытаюсь вывести данные, но я продолжаю получать пустой массив

$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); 
} 

это то, что я получаю: result

может кто-то помочь мне в этом? я использую mysqli все время, но я не знаю, что пошло не так на этот раз.

спасибо.

+0

Вы должны отформатировать код правильно, чтобы его легче читать – NoLiver92

+0

спасибо, его мой первый пост, и я не знаю, как это сделать –

+0

@SaifEddin Попробуйте удалить '$ info-> close();' – affaz

ответ

0

я установил его сам

я нашел ответ на http://php.net

спасибо в любом случае!

<?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 в настоящее время требуется index.php поэтому он получает '$ пользователю' оттуда

выход

Array ([ id] => 15 [имя пользователя] => admin [email] => [email protected] [bd] => 2017-02-07 [firstname] => Saif [lastname] => Eddin [gender] => male [ ppicture] => 1f4 c1b47a3910039e60851c453ae4d80_a.jpg [cpicture] => default_c.jpg)

0

Попробуйте

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

nope, теперь он не отображает ничего, кроме пустого массива –

+0

@SaifEddin попробуйте код в моем редактировании, просто чтобы проверить, выполнено ли его хорошо, просто получение электронной почты этого пользователя – affaz

+1

Я только что добавил ответ, я исправил его сам –

Смежные вопросы