收到此错误:
mysqli_num_rows() expects parameter 1 to be mysqli_result, null given
不知道为什么并且已经浏览了很多主题,试图找出答案。我知道它与我的查询有关,但我不能把这些部分放在一起。
感谢您的帮助,我很感激!
<?php
session_start();
if (!isset($_SESSION['email'])){
echo "Please login first.";
exit();
}else{
include ("header.php");
require_once ('mysqli_connect.php');
$id=$_GET['id'];
$query = "SELECT * FROM post WHERE post_id=$id";
$result = @mysqli_query ($query);
$num = mysqli_num_rows($result);
if ($num > 0) {
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
?>
<form action="update.php" method="post">
<p>Title: <input name="title" size=50 value="<? echo $row['title']; ?>"></p>
<p>Author: <input name="author" size=50 value="<? echo $row['author']; ?>"></p>
<p>Post: <input name="post" size=50 value="<? echo $row['post']; ?>"></p>
<p>
<input type=submit value=update>
<input type=reset value=reset>
<input type=hidden name="post_id" value="<? echo $row['post_id']; ? >">
</form>
<?
}
}
}
?>
答案 0 :(得分:0)
在$result = @mysqli_query ($query);
行中@
会消除任何错误。在继续操作之前,请检查$result
不是false
,null
或其他错误。
您可能希望在没有@
之前使用它,直到您使用它,这样您就可以获得更有意义的错误消息。
答案 1 :(得分:0)
第一件事是在最后一节中,代码没有正确的意图......如value="<? echo $row['post_id']; ?
..其次,当乔说@
符号会出现错误时......所以你需要删除那些来自你代码的@symbol ..所以代码必须是..
<?php
session_start();
if (!isset($_SESSION['email'])){
echo "Please login first.";
exit();
}else{
include ("header.php");
require_once ('mysqli_connect.php');
$id=$_GET['id'];
$query = "SELECT * FROM post WHERE post_id=$id";
$result = mysqli_query ($query);
$num = mysqli_num_rows($result);
if ($num > 0) {
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
?>
<form action="update.php" method="post">
<p>Title: <input name="title" size=50 value="<? echo $row['title']; ?>"></p>
<p>Author: <input name="author" size=50 value="<? echo $row['author']; ?>"></p>
<p>Post: <input name="post" size=50 value="<? echo $row['post']; ?>"></p>
<p>
<input type=submit value=update>
<input type=reset value=reset>
<input type=hidden name="post_id" value="<? echo $row['post_id']; ?>">
</form>
希望这一个可以帮助你..如果有任何问题,请在下面发表评论.. :)
答案 2 :(得分:0)
我认为您必须检查GET [&#39; id&#39;]的值是否具有值,并且使用适当的数据形成查询。 您可能会收到错误,因为结果为null。 并检查连接。