得到"未定义变量"在apache (xampp)重新安装后,我的代码出现错误


I get "undefined variable" error on my code after an apache (xampp) reinstall

这个周末我格式化并重新安装了我的计算机:今天当我试图继续在一些php页面上工作时,我上周一直在编程,当我在本地主机服务器上执行php代码时,我得到一个:

"注意:未定义变量:consulta in D:' web 'WP'lbodas.php on line 421 de enero de 1970"

它发生在执行SQL查询的所有php页面上(在重新安装之前运行良好)。

我必须错过一些配置调整(在php.ini, httpd.conf或其他apache配置文件),有人能指出我错过了什么?

Thanks in advance


这是我使用的代码。连接DDBB:

$bd_host='localhost';
$bd_login='MYLOGIN';  
$bd_clave='MYPASSWORD';
$bd_nombre='MYDATABASE';
connecttodb($bd_host,$bd_nombre,$bd_login,$bd_clave);
function connecttodb($bd_host,$bd_nombre,$dbuser,$bd_clave)
{
    global $conn;
    $conn=mysql_connect ("$bd_host","$dbuser","$bd_clave");
    mysql_query("SET NAMES 'utf8'");
    if(!$conn){die("CONNECTION ERROR");}
    //mysql_query("SET NAMES 'utf8'");
    mysql_select_db("$bd_nombre",$conn) or die ("CONNECTION ERROR".mysql_error());
}

和一个sql查询,曾经工作,但重新安装后不工作:

        $sql = "SELECT * FROM cat_prov ORDER BY categoria ASC";
        $rs_result = mysql_query ($sql, $conn);
        while ($row = mysql_fetch_assoc($rs_result)) {
            $categoria=$row["categoria"];
            $notas=$row["notas"];
        }        

这是说$row变量,它保存的数组与sql查询的结果,还没有被定义…但是两天前,在重新安装服务器操作系统之前,我不需要定义变量!!

您的新安装将错误报告设置为E_ALL,并且还显示通知。试着

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

来源:PHP Manual

你可能正在做类似

$result = $consulta + 1;

在此之前没有给$consulta赋值。任何时候,如果您在"read"上下文中使用变量,而没有先对其赋值,较新版本的PHP都会抛出该警告。

$consult = 0;
$result = $consulta + 1;

将解决这个问题,因为您已经为变量在read上下文中使用之前定义了一个值。