我想知道这有什么不对。
首先,它显示了一个错误 mysqli_fetch_assoc()要求参数1为mysqli_result,给定整数。
错误显示在第while ($prof_info = mysqli_fetch_assoc($profRow)) {
行
以下代码:
$profInfo = "SELECT * FROM register_user
WHERE emailAddress = '". $_SESSION['user_info']['firstName'] ."'";
$profileInformation = mysqli_query($mysqli, $profInfo) or die(mysqli_error($mysqli));
$profRow = mysqli_num_rows($profileInformation);
while ($prof_info = mysqli_fetch_assoc($profRow)) {
$profFirstName = htmlspecialchars($prof_info["firstName"]);
$profLastName = htmlspecialchars($prof_info["lastName"]);
$profMail = htmlspecialchars($prof_info["emailAddress"]);
$profAdd = htmlspecialchars($prof_info["mainAddress"]);
$profCountry = htmlspecialchars($allRow["registerCountry"]);
$profCity = htmlspecialchars($allRow["registerCity"]);
$profZip = htmlspecialchars($allRow["postalCode"]);
$profPostalCode = mysqli_escape_string($profZip);
echo "<li> Name : </li>";
echo "<span class=\"infoProfile\"> <p> $profFirstName $profLastName </p> </span>";
echo "<li> Email : </li>";
echo "<span class=\"infoProfile\"> <p> $profMail </p> </span>";
echo "<li> Main Address : </li>";
echo "<span class=\"infoProfile\"> <p> $profAdd </p> </span>";
echo "<li> Country : </li>";
echo "<span class=\"infoProfile\"> <p> $profCountry </p> </span>";
echo "<li> City : </li>";
echo "<span class=\"infoProfile\"> <p> $profCity </p> </span>";
echo "<li> Postal Code : </li>";
echo "<span class=\"infoProfile\"> <p> $profPostalCode </p> </span>";
echo "<p class=\"profileLogout\"> <a href=\"logout\"> LOGOUT </a> </p>";
}
mysqli_close($mysqli);
有什么想法吗?
答案 0 :(得分:0)
您必须将$profileInformation
传递给mysqli_fetch_assoc
:
while ($prof_info = mysqli_fetch_assoc($profileInformation)) {
...
}
mysqli_query($mysqli, $profInfo)
返回mysql_result
个对象,该对象将进一步传递到mysqli_fetch_assoc
。
而是尝试传递一个由mysqli_num_rows
返回的整数。
答案 1 :(得分:0)
使用$profileInformation
资源变量来获取
$profInfo = "SELECT * FROM register_user
WHERE emailAddress = '". $_SESSION['user_info']['firstName'] ."'";
$profileInformation = mysqli_query($mysqli, $profInfo) or die(mysqli_error($mysqli)); // This is actual mysql result and which consist of resource Id
$profRow = mysqli_num_rows($profileInformation);
while ($prof_info = mysqli_fetch_assoc($profileInformation )) {
//We have to pass resource id to `mysqli_fetch`
$profFirstName = htmlspecialchars($prof_info["firstName"]);
$profLastName = htmlspecialchars($prof_info["lastName"]);
$profMail = htmlspecialchars($prof_info["emailAddress"]);
$profAdd = htmlspecialchars($prof_info["mainAddress"]);
$profCountry = htmlspecialchars($allRow["registerCountry"]);
$profCity = htmlspecialchars($allRow["registerCity"]);
$profZip = htmlspecialchars($allRow["postalCode"]);
$profPostalCode = mysqli_escape_string($profZip);
echo "<li> Name : </li>";
echo "<span class=\"infoProfile\"> <p> $profFirstName $profLastName </p> </span>";
echo "<li> Email : </li>";
echo "<span class=\"infoProfile\"> <p> $profMail </p> </span>";
echo "<li> Main Address : </li>";
echo "<span class=\"infoProfile\"> <p> $profAdd </p> </span>";
echo "<li> Country : </li>";
echo "<span class=\"infoProfile\"> <p> $profCountry </p> </span>";
echo "<li> City : </li>";
echo "<span class=\"infoProfile\"> <p> $profCity </p> </span>";
echo "<li> Postal Code : </li>";
echo "<span class=\"infoProfile\"> <p> $profPostalCode </p> </span>";
echo "<p class=\"profileLogout\"> <a href=\"logout\"> LOGOUT </a> </p>";
}
mysqli_close($mysqli);