PHP开发中的错误收集

本文针对PHP编程中常见的错误进行了详细的解析,包括静态方法调用、数组操作、接口实现、数据库查询等方面的问题,并提供了相应的解决方案。
Fatal error: Non-static method Conn::__construct() cannot be called statically in /file.php 


没有静态的方法(里面这个指方法参数,字符串类型),不能从静态上下文引用。 


Fatal error: [] operator not supported for strings in /file.php 


当一个变量已设为非数组类型的时候,就不能再次使用[]让同名变量增加数据键值 
解决方法: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.php on line 7 


统一接口所有类方法都必须和接口规定的一致:作用域声明、方法名、参数数量 


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


必须使用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 


函数第一个参数必须是一个数组。 


#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 


检查一下有没有序号自增加的字段。 
所存储的数据与数据库表的字段类型定义不相匹配. 
字段类型是否正确, 是否越界, 有无把一种类型的数据存储到另一种数据类型中. 


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


关键字重复、可能是主键ID、也可能是唯一字段。 

转载于:https://my.oschina.net/appk/blog/143037

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值