PHP常見錯誤收集

Fatal error: Non-static method Conn::__construct() cannot be called statically in  /file.phpphp

  • 沒有靜態的方法(裏面這個指方法參數,字符串類型),不能從靜態上下文引用。

Fatal error:  operator not supported for strings in  /file.phpmysql

  • 當一個變量已設爲非數組類型的時候,就不能再次使用[]讓同名變量增長數據鍵值
    解決方法:1.改變變量名稱、2.使用$var = array(...)
    舉例:

    //這裏爲字符串類型 $err = $e->getMessage(); //當執行到這裏的時候會報錯 $err[] = array ( 'gid' => $this->_get['id'], 'url' => $new, 'log' => $err, 'time' => time() ); 正則表達式

Fatal error: Declaration of Listing::content() must be compatible with that of InewsList::content() in file\List_1.phpon line 7sql

  •  統一接口全部類方法都必須和接口規定的一致:做用域聲明、方法名、參數數量

Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in file\List_1.php on line 42數據庫

  • 檢查語句是否閉合,例如:()、""
  • 檢查是否有命名衝突,例如:namespace

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 6144 bytes) in file\List_1.php on line 8express

  • 內存超過PHP默認設置的128M

Notice: Undefined property: News::$_matches in file\List_1.php on line 57 數組

  • 沒有找到類中的方法

Warning: preg_match_all() [function.preg-match-all]: Empty regular expression in file\List_1.php on line 57函數

  •  正則表達式爲空

Warning: preg_match_all() [function.preg-match-all]: Delimiter must not be alphanumeric or backslash infile\List_1.php on line 57fetch

  •  判斷爲第一個參數的正則表達式寫法有問題 記得在前面和後面加上 /  符號。

Warning: mysqli::query() [mysqli.query]: Couldn't fetch Insert in /file.phpthis

  • 必須使用mysqli連接數據庫後返回的結果集去執行操做。

Warning: 1064_You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...

  • 網上搜索是MYSQL兼容問題,實際操做上是語法錯誤,需檢查SQL語句寫的是否正確。

Warning: array_shift() expects parameter 1 to be array, integer given

  • 函數第一個參數必須是一個數組。

Fatal error: Unsupported operand types in file\List_1.php on line 60

  • 致命錯誤:不支持的操做數據類型
    產生緣由,將不符合數據類型的數據傳送給了某些函數。好比我就不當心將一個數組傳給了個人一個自定義函數,而這個函數接受的參數應該是數字。

Fatal error: Only variables can be passed by reference in ......

  • 在PHP裏,若是運行如下代碼:

function eee(&$t) { $w = 'hello '.$t; return $w; } echo eee('World');

意思是「只有變量能經過‘引用’」。

Warning: Illegal offset type in

Warning: Illegal offset type in isset or empty in

  • 前幾天寫程序的時候碰到一個這種錯誤提示
    若是你使用這樣的表示方法以下:

    $arr = array(); class a {} $o = new a; echo $arr[$o];

    就會出現上面的錯誤提示,由於不能使用實例化的對象來做爲數組的索引,或者在使用isset empty檢測這樣的數據的時候也會出現第二種狀況。
    若是在作實際中碰到這樣的錯誤提示,查看數組變量的鍵名是否使用了實例化的對象變量做爲鍵名

#1366 - Incorrect integer value: '' for column 'ID' at row 1

  • mysql版本爲msyql 5.1.14 WIN32版本,出現錯誤的緣由是沒有給自增ID賦值,儘管以前的版本能夠不賦值,自動增長,可是在新版本的msyql中須要爲其賦值NULL

#1136:Column count doesn't match value count at row 1

  • 檢查一下有沒有序號自增長的字段。
  • 所存儲的數據與數據庫表的字段類型定義不相匹配.
  • 字段類型是否正確, 是否越界, 有無把一種類型的數據存儲到另外一種數據類型中.
  • SQL語句裏列的數目和後面的值的數目不一致

#1062_Duplicate entry '...' for key 'map'

  • 關鍵字重複、多是主鍵ID、也多是惟一字段。
相關文章
相關標籤/搜索