本周末我格式化并重新安装了我的电脑:今天当我尝试继续处理我上周编程的一些php页面时,当我在localhost服务器上执行php代码时,我得到了:
“注意:未定义的变量:在第42行1 de enero de 1970的D:\ WEBS \ WP \ lbodas.php中的咨询”
它发生在执行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查询结果的数组,尚未定义...但是两天前,在服务器操作系统重新安装之前我没有定义变量! !
答案 0 :(得分: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 Manual
答案 1 :(得分:0)
你可能正在做类似
的事情$result = $consulta + 1;
在此之前没有为$ consulta分配值。无论何时在“读取”上下文中使用变量,而没有首先分配它,新版本的PHP都会抛出该警告。
否则
$consult = 0;
$result = $consulta + 1;
将解决问题,因为你已经为变量BEFORE定义了一个值,而不是在读取上下文中使用它。