这个周末我格式化并重新安装了我的计算机:今天当我试图继续在一些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上下文中使用之前定义了一个值。