以及第14行Earth.php中的代码

以及第14行Earth.php中的代码,php,mysql,Php,Mysql,当我试图在我的网站上输入一个页面时,我得到了这个错误 注意:第14行C:\Users\Name\Desktop\Folder\htdocs\include\Earth.php中的未定义变量:id php文件在编辑器中如下所示 <?php error_reporting(E_ALL); ini_set('display_errors', '1'); session_start(); $verbindung = mysql_connect("localhost","root","Palme

当我试图在我的网站上输入一个页面时,我得到了这个错误

注意:第14行C:\Users\Name\Desktop\Folder\htdocs\include\Earth.php中的未定义变量:id

php文件在编辑器中如下所示

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

session_start();

$verbindung = mysql_connect("localhost","root","Palmen162");
mysql_select_db("lan");

if(isset($_SESSION['id'])) {
// do the following query
}

mysql_query("UPDATE users SET ally='3' WHERE id='{$id}'");  
 ?>
确保在PHP文件的顶部有session_start:

并始终检查该值是否存在:

if(isset($_SESSION['id'])) {
    // do the following query
}
强制性说明:

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO

始终不要忘记打开错误报告:

error_reporting(E_ALL);
ini_set('display_errors', '1');

你的错误是怎么说的?您的答案就在它的输出中。您的代码在使用不推荐的数据库函数(例如SQL注入)构建时有很多问题,但最大的问题是您根本没有执行任何错误检查或报告。mysql\u connect、mysql\u select\u db或mysql\u query中的任何一个都可能失败,但您不必费心检查任何失败。在尝试使用其值之前,您从未定义$id或set。代码可能由于与mysql相关的任何其他原因而失败,因为其中没有错误检查。您可能是对的,这就是问题所在,但也有可能OP根本没有把session\u start调用放在问题中。@GordonM我也是这么想的,因为它没有添加到OP的代码中,session\u start丢失了