簡體   English   中英

PHP mysqli查詢未在SELECT語句上返回mysqli_result對象

[英]PHP mysqli query is not returning mysqli_result object on SELECT statement

我想知道我在做錯什么。我似乎無法弄清為什么它不返回我的行,只是沒有回顯語句,而是在我調用“ $ grow [” bName“]”時將其留空。 我試過我的查詢,它工作正常,它返回兩列,用戶名和bName。 這是我的PHP代碼:

<?php
require ("cfd.php");
require ("header.php");
$username = $_SESSION["username"];
echo $username;
    //run the query
    $gsql = "SELECT babysitter.bName, login.username FROM login INNER JOIN babysitter ON login.b_ID=babysitter.b_ID WHERE login.username = '".$username."';";
    $gres = mysqli_query($db, $gsql);
    $grow = mysqli_fetch_assoc($gres);
    echo "<h2>Hello ".$grow["bName"].", Your admin status is ".$_SESSION['admin']."<br>";
    echo $gres->num_rows;
?>


<?php
require("footer.php");
?>

請嘗試$grow[0]["bName"]否則您可以使用此功能

while($row = mysqli_fetch_assoc($gres)) 
{
    $row['bNAme'];
}

首先檢查num行。 並刪除; 在查詢末尾

嘗試這個

if (mysqli_num_rows($gres) > 0) {
 while ($row = mysqli_fetch_assoc($gres)) {
    echo $row["bName"];

  }

}

您的查詢應為

 $gsql = "SELECT babysitter.bName, login.username FROM login INNER JOIN babysitter ON login.b_ID=babysitter.b_ID WHERE login.username = '".$username."'";

用這個

if (mysqli_num_rows($gres) > 0) {
 while ($row = mysqli_fetch_assoc($gres)) {
    echo $row["bName"];

  }

}

(代表OP張貼)

我問老師,她說會話可能已超時,因此在我調用它時給了我一個空字符串( $username = $_SESSION["username"] )。 然后,它不會在查詢中插入任何內容,並且會給我一個錯誤。

我將實現一些代碼來檢查$_SESSION["username"]是否為空,如果為空,則重定向回登錄頁面。 我將其放在所有頁面上。

暫無
暫無

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

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