0

这个周末我格式化并重新安装了我的电脑:今天当我尝试继续处理我上周一直在编程的一些 php 页面时,当我在 localhost 服务器上执行 php 代码时,我得到:

“注意:未定义的变量:在 D:\WEBS\WP\lbodas.php 中的第 42 行 1 de enero de 1970 咨询”

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

我必须缺少一些配置调整(在 php.ini、httpd.conf 或其他一些 apache 配置文件上),有人可以指出我缺少什么吗?

提前致谢


这是我正在使用的代码。要连接到 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 查询结果的数组,还没有定义......但是两天前,在重新安装服务器操作系统之前,我不必定义变量!

4

2 回答 2

1

您的新安装设置了错误报告E_ALL,也显示通知。尝试

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

来源:PHP 手册

于 2013-05-13T14:04:58.560 回答
0

你可能正在做类似的事情

$result = $consulta + 1;

在此之前从未为 $consulta 赋值。每当您在“读取”上下文中使用变量时,没有先分配它,较新版本的 PHP 会抛出该警告。

正在做

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

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

于 2013-05-13T14:09:09.997 回答