首頁 >後端開發 >php教程 >php中對於NOTICE的問題排查,該注意什麼?

php中對於NOTICE的問題排查,該注意什麼?

WBOY
WBOY原創
2016-12-05 13:44:101353瀏覽

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 = '';

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn