Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和MySQL错误。执行某些代码并显示错误消息_Php_Mysql - Fatal编程技术网

PHP和MySQL错误。执行某些代码并显示错误消息

PHP和MySQL错误。执行某些代码并显示错误消息,php,mysql,Php,Mysql,我的系统是这样的: 在MySQL数据库中注册并向电子邮件发送验证消息后,该消息中有一个链接将用户指向名为activate.php的页面。下面是错误: <?php $query = "SELECT active FROM users WHERE id='"; $query .= $_SESSION['id']; $query .= "' LIMIT 1"; $result = mysqli_query($link, $query); $row = mysqli_fetch_arr

我的系统是这样的: 在MySQL数据库中注册并向电子邮件发送验证消息后,该消息中有一个链接将用户指向名为activate.php的页面。下面是错误:

<?php    
$query = "SELECT active FROM users WHERE id='";
$query .= $_SESSION['id'];
$query .= "' LIMIT 1";

$result = mysqli_query($link, $query);

$row = mysqli_fetch_array($result);

if ( $row['active'] == 'false' ) {

    $query = "UPDATE `users` SET `active`='true' WHERE `id`='";
    $query .= $_SESSION['id'];
    $query .= "' LIMIT 1";

    $result = mysqli_query($link, $query);
    **//THE END**
    if ( $result ) header("diary.php");
    else echo "<script type='text/javascript'>alert('Activation Failed! Server error!.');</script>";

} else {
    header("diary.php");
}
?>
您编写了
if($result)标题(“diary.php”);
else echo


“else”前面有分号这不正确

我发现了错误。标题语法应如下所示:

    header("Location:diary.php");

谢谢大家。它现在工作得很好

如果这是用户在单击邮件中收到的链接后看到的页面,那么您不能期望会话仍然处于活动状态。我认为这个问题的根本原因是这个
$\u会话['id']
。首先检查会话是否已过期。Do
echo$_会话['id']
并查看是否得到任何值。同时删除行
**/结尾**
,它将给您提供这条
意外的“”(T_POW)
语法错误。我只是添加这条//结尾,以明确我指向的是哪一部分,而它不在实际代码中。看看您的代码,您添加了这条
**/结尾**
/**END**
很好,但是这个
**//END**
会给出语法错误。我已经完成了这个会话\u start();在我的实际代码的顶部,但忘了粘贴在这里。我还测试了你回显会话变量的方法,它确实存在。实际上,如果我删除这个分号,它会给我500个服务器错误。这不是问题所在。