您好我正在尝试创建用户的状态,因此它将检查此用户有多少帖子并回显结果,当我使用mysql时工作正常但在将其转换为mysqli之后它给了我一些错误
这是我的代码:
<?php
if(!isset($_COOKIE['loggedin'])){
header("location:index.php");
}
session_start();
if(!isset($_SESSION['user'])){
header("location: index.php");
}
else {
?>
<?php
$con=mysqli_connect("localhost","root","123","user");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$resule = "SELECT count(ID) from save_data where username = '".$_SESSION['user']."'"
or die(mysql_error());
$result = $con->query($resule);
$row = $result->fetch_array(MYSQLI_NUM);
echo $row[0], $row[1];
?>
<?php }?>
错误:
Notice: Undefined offset: 1 in C:\xampp\htdocs\mysql_login\status.php on line 30
答案 0 :(得分:2)
尝试从
中删除$row[1]
echo $row[0], $row[1];
答案 1 :(得分:0)
如错误所示,偏移量1未定义。所以你应该从$row[1]
echo $row[0], $row[1];
非常简单
答案 2 :(得分:0)
$row[1]
中的问题是echo $row[0], $row[1];
,因为$result->fetch_array
只会填充$row[0]
,因为SQL查询
如果用户名是唯一的,“来自save_data的SELECT count(ID),其中username = “”。$ _ SESSION [ '用户']。 “'”
只会返回一个结果。
答案 3 :(得分:0)
如果您的查询没有返回任何值,会发生什么?所以你最好检查一下
if($resesult)
{
$row = $result->fetch_array(MYSQLI_NUM);
echo $row[0];// remove $row[1] because it fills only the $row[0]
}