簡體   English   中英

PHP-Mysqli |中文 我正在嘗試輸出數據,但我一直在獲取空數組

[英]PHP - Mysqli | i'm trying to output data but i keep getting empty array

我試圖從數據庫中獲取用戶信息,但它一直給我一個空數組。
代碼:i.stack.imgur.com/Op4HB.png

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

這就是我得到的: 結果

有人可以幫我嗎? 我一直在使用mysqli,但是我不知道這次出了什么問題。

謝謝。

嘗試這個

在while循環內獲取並顯示結果

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

    }

編輯

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

我自己修好了

我在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:index.php要求使用account.php,以便從那里獲取' $ user '

產量

數組([id] => 15 [username] => admin [email] => admin@theboat.tn [bd] => 2017-02-07 [firstname] => Saif [lastname] => Eddin [gender] = >男性[ppicture] => 1f4c1b47a3910039e60851c453ae4d80_a.jpg [cpicture] => default_c.jpg)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM