调用好像也成功了····但是这个notice 实在不知道问题在哪儿了
修改了如下····function update($link, $data, $table, $where = null) {
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;}
}
······
这个 set我也定义了···还是会有问题= =
回复内容:
调用好像也成功了····但是这个notice 实在不知道问题在哪儿了
修改了如下····function update($link, $data, $table, $where = null) {
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;}
}
······
这个 set我也定义了···还是会有问题= =
你没有在函数作用域里定义set变量,报notice的原因是这不是致命的错误,只是提醒你可能会使用未定义的变量带来不良后果。
看了你改过的问题,set依然没有定义。要在使用它之前定义。.=相当于使用了,而且要在函数作用域内,不是foreach作用域内。
$set变量没有定义,需要再foreach上面先定义:
$set = '';
一般报错显示的行数,可以从该行数的上一行查找问题
先定义个变量$set
undefined variable未定义变量
$set要先定义,未定义直接用 ‘.=’ 这是错误的用法
用error_reporting(0)或修改 php.ini 的error_reporting = e_all & ~e_notice
变量初始化 $set = '';foreach($data as $k=>$v){$set.={$k}={$v},;}
在foreach前先定义一下 $set = '';