首页 > 后端开发 > php教程 > php中对于NOTICE的问题排查,该注意什么?

php中对于NOTICE的问题排查,该注意什么?

WBOY
发布: 2023-03-03 08:30:01
原创
1324 人浏览过

php中对于NOTICE的问题排查,该注意什么?

php中对于NOTICE的问题排查,该注意什么?

调用好像也成功了····但是这个notice 实在不知道问题在哪儿了


修改了如下····function update($link, $data, $table, $where = null) {

<code>foreach ( $data as $key => $val ) {
    $set .= "{$key}='{$val}',";
}
$set = trim ( $set, ',' );
$where = $where == null ? '' : ' WHERE ' . $where;
$query = "UPDATE {$table} SET {$set} {$where}";
$res = mysqli_query ( $link, $query );
if ($res) {
    return mysqli_affected_rows ( $link );
} else {
    return false;
}</code>
登录后复制
登录后复制

}php中对于NOTICE的问题排查,该注意什么?

······

这个 set我也定义了···还是会有问题= =

回复内容:

php中对于NOTICE的问题排查,该注意什么?

php中对于NOTICE的问题排查,该注意什么?

调用好像也成功了····但是这个notice 实在不知道问题在哪儿了


修改了如下····function update($link, $data, $table, $where = null) {

<code>foreach ( $data as $key => $val ) {
    $set .= "{$key}='{$val}',";
}
$set = trim ( $set, ',' );
$where = $where == null ? '' : ' WHERE ' . $where;
$query = "UPDATE {$table} SET {$set} {$where}";
$res = mysqli_query ( $link, $query );
if ($res) {
    return mysqli_affected_rows ( $link );
} else {
    return false;
}</code>
登录后复制
登录后复制

}php中对于NOTICE的问题排查,该注意什么?

······

这个 set我也定义了···还是会有问题= =

你没有在函数作用域里定义set变量,报notice的原因是这不是致命的错误,只是提醒你可能会使用未定义的变量带来不良后果。

看了你改过的问题,set依然没有定义。要在使用它之前定义。.=相当于使用了,而且要在函数作用域内,不是foreach作用域内。

$set变量没有定义,需要再foreach上面先定义:

<code>$set = '';</code>
登录后复制

一般报错显示的行数,可以从该行数的上一行查找问题

先定义个变量$set

Undefined variable未定义变量

$set要先定义,未定义直接用 ‘.=’ 这是错误的用法

  1. error_reporting(0)或修改 php.ini 的error_reporting = E_ALL & ~E_NOTICE

  2. 变量初始化 $set = '';foreach($data as $k=>$v){$set.="{$k}={$v},";}

在foreach前先定义一下 $set = '';

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板