zoukankan      html  css  js  c++  java
  • PHP常见错误

    PHP常见错误

    1、语法错误

    Parse error: syntax error, unexpected T_VARIABLE in E:gstbookuser.php on line 268

    一般是少分号,在上一行或者下一行都有可能
    Parse error: syntax error, unexpected '.' in F:wwwlogarticle.php on line 100

    多个“.”,类似的还有多个“;”等等

    Notice: Undefined variable: a in ... 使用了一个没有被定义的变量a

    Parse error: syntax error, unexpected T_ELSE in

    if else if else 句式逻辑错误

    Parse error: syntax error, unexpected $end in 一般是大括号不匹配

    Parse error: syntax error, unexpected T_STRING in 一般是忘了写句末分号

    Parse error: syntax error, unexpected T_PRIVATE in 一般是private函数位置写到了调用自己函数的内部

    Warning: Invalid argument supplied for foreach() in foreach 的第一个参数必须是一个数组

    Warning: Wrong parameter count for a in 函数参数个数不对

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at F:wwwlogindex.php:10) in F:wwwlogincl?sconfig.inc.php on line 10
    Warning: annot modify header information - headers already sent by (output started at F:wwwlogindex.php:10) in F:wwwlogincl?sconfig.inc.php on line 12
    session前面不能有输出,同意的cookie也是这样的

    Fatal error: Cannot redeclare 函数已经定义过,不能重新再定义;类也不能同名

    2、SQL语句错误

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in 说明前面执行SQL 返回失败,一般可能是SQL语句错误 ,如分析不出来,可以Mysql_error () 看具体是哪个地方错了

    No database selected 一般是没有连接数据库

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@'localhost’ (using password: YES) in ….. on line 3Access denied for user ‘root’@'localhost’ (using password: YES) 数据库用户名的密码错误

    Unknown database ‘cms07261′ 数据库不存在

    Table ‘cms0726.test’ doesn’t exist 表不存在

    Unknown column ‘abc’ in ‘field list’ 字段不存在

    Column count doesn’t match val count at row 1 sql语句中 字段值的个数比字段名个数不一样

    3、模板错误

    Fatal error: Smarty error: [in message_list.html line 22]: syntax error: ‘foreach: item’ must be a variable name (literal string) foreach 后面的item 后面必须跟一个变量名,不加$,是一个字符串
    
    Fatal error: Smarty error: [in admin/tpl/class_detail.html line 14]: syntax error: unrecognized tag: cs.st?nt_id (Smarty_Compiler.class.php, line 436) in D:wwwwebxmphpincsmartySmarty.class.php on line 1088 smarty语法错误:循环数组的时候,少$
    
    Warning: Smarty error: unable to read resource: “message_list1.html” in 模板文件找不到,看是否是文件名写错或文件存放到别的目录中去了。
    
    Fatal error: Smarty error: [in order_detail.html line 171]: syntax error: unclosed tag {elseif} (opened line 157). (Smarty_Compiler.class.php, line 317) in F:wwwgstbookxmphpincsmartySmarty.class.php on line 1088 html页面语法错误,少结束标签<%/if%> 
    
    Fatal error: Call-time pass-by-reference has been removed in  PHP在升级到5.4版本的php可能会出现这种错误:
    

    如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:
    foo(&$var);
    实际上,这样用法在php5.3中就会有提示,只是之前的仅仅会提示Deprecated而已。

    // 正确写法  
    function myFunc(&$arg) { do something... }  
       
    myFunc($var);//Call myFunc  
       
    //错误写法  
    function myFunc($arg) { do something... }  
       
    myFunc(&$arg);//Call myFunc  
    

    附上PHP错误报表:

    序号代码错误报告

    1 error_reporting(Integer) 此设置是每个脚本默认错误报告设置。它的参数可以是这里列出的任意常量,表示所有错误的E_ALL或者类似E_ALL&E_NOTICE的一个逻辑表达式。
    2 display_error(Boolean) 此设置控制错误是否作为PHP输出的一部分显示出来,默认设置是on。
    3 display_startup_errors(Boolean) 此设置控制在PHP启动时是否显示错误,默认设置是off,而且是用来调试C扩展。
    4 error_prepend_string(String) 这个字符串在浏览器中显示错误信息之前直接显示出来。
    5 track_errors(Boolean) 当这个设置开启时,一旦一个错误出现,变量$php_errormsg在PHP作用域中被定义。这个变量包含错误信息。
    6 html_errors(Boolean) 此设置控制是否在错误信息中采用HTML格式。默认情况下显示的是HTML错误,CLI版本的PHP除外。
    7 xmlrpc_erroes(Boolean) 此设置控制错误信息是否启用作为XML-RPC故障显示。
    8 xmlrpc_error_number(Integer) 这个XML-RPC故障代码是启用xmlrpc_errors时使用的。
    9 log_errors(Boolean) 此设置控制错误是否记录。日志的地址是通过error_log设置决定的。默认情况下,错误被记录到Web服务器的错误日志中。
    10 log_error_max_len(Integer) 此设置是当启用log_errors时控制记录的错误信息的最大长度。超过这个长度的信息也会被记录下来,但是会被截断。
    11 error_log(String) 此设置决定错误记录的地方。在默认情况下,它们被传送到Web服务器的错误记录机制中,但必须指定一个文件名,或者指定Syslog让系统日志来记录。
    12 ignore_report_errors(Boolean) 当启用它时,这个设置让PHP不在同一行中重复显示一样的错误信息。

    2 、PHP错误是通过错误级别进行划分的,范围从通告到严重错误,这个错误级别报告错误的严重性。大部分错误可以用常用的错误处理器来获取,但其中一些则不可恢复。

    PHP错误级别表

    序号 错误代码 错误级别
    1 E_ERROR 严重错误,不可恢复。例如内存不足、位置异常或类重复声明错误
    2 E_WARNING 一个经常发生的错误类型。表示一些操作错误。例如丢失函数参数,连接数据库失败,除数为0等错误。
    3 E_PARSE 编译时发生的解析错误,会导致在PHP执行前退出。意味着如果一个文件因为解析错误运行失败,程序将停止运行。
    4 E_STRICT 错误级别是唯一不包含在E_ALL常量中。这是为了让PHP4到PHP5的迁移更加容易;你可以在PHP5软件系统中运行PHP4代码。
    5 E_NOTICE 运行代码在操作一些未知的动作,例如读取为定义的变量。
    6 E_CORE_ERROR 内部错误,扩展启动失败导致的,会导致PHP运行退出。
    7 E_COMPILE_ERROR 编译错误,与E_PARSE不同,这个错误会导致PHP运行退出。
    8 E_WARNING_ERROR 编译时的警告,可能是使用者发生语法错误。
    9 E_USER_ERROR 用户定义错误导致PHP退出执行。用户定义错误(E_USER_*)不是来自PHP本身,而是包含在脚本中。
    10 E_USER_WARNING 用户定义错误不会导致PHP退出执行。脚本可以使用它来通知一个执行失败,执行失败PHP也会用E_WARNING来通知。
    11 E_USER_NOTICE 用户定义的通告可以用来在脚本中可能存在错误。

    宁鸣默笙
  • 相关阅读:
    poj 2029 Get Many Persimmon Trees 夜
    poj 1191 棋盘分割 夜
    DOM (四)
    div拖拽, onmousedown ,onmousemove, onmouseup
    闭包理解
    DOM(一)
    内存溢出与内存泄漏
    div随鼠标移动而移动(滚动条)
    对象继承模式
    DOM(二)
  • 原文地址:https://www.cnblogs.com/Solomon-xm/p/6816184.html
Copyright © 2011-2022 走看看