[英]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.