当前位置:  编程技术>php
本页文章导读:
    ▪PHP开发中的错误收集,不定期更新。       Fatal error: Non-static method Conn::__construct() cannot be called statically in /file.php 没有静态的方法(里面这个指方法参数,字符串类型),不能从静态上下文引用。 Fatal error: [] operator not supported for strings in .........
    ▪一些php技巧与注意事项分析       从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西.........
    ▪PHP数组对比函数,存在交集则返回真,否则返回假       代码如下: <?php $array1 = array('a', 'b', 'c', 'd'); $array2 = array('a', 'c'); $array3 = array_intersect($array1, $array2); if($array3) { echo '有交集'; } ?> ......

[1]PHP开发中的错误收集,不定期更新。
    来源: 互联网  发布时间: 2013-11-30
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、也可能是唯一字段。

    
[2]一些php技巧与注意事项分析
    来源: 互联网  发布时间: 2013-11-30
从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。
如:
代码如下:

if(true)
{
header('location:http://www.');
}
file_put_contents('test.txt', 'ok');

这个代码中,粗心的程序员会以为 header('location:http://www.'); 就over了,事实上,后台的代码却仍然被执行了,所以使用 header(location) 的时候,不管是封装在另一个函数还是直接写的,都建议在后面加 exit() 确认程序中止。
====soap
今天运行一个demo代码,出现了“Class 'SoapClient' not found”错误。搜索了一下,需要启动soap服务,但是在php.ini的Windows Extensions里面没有找到soap.dll,一开始还以为我的php版本没有包含这个dll,到php安装目录下的ext子目录看了一下,发现php_soap.dll是存在的。那就简单了,直接添加extension=php_soap.dll到Windows Extensions部分,重启动apache就好了。
ssl默认也是不启动的,extension=php_openssl.dll,可以在这里将它前面";"去掉就好了。
代码如下:

var_dump( $query );//把结果当成文本打印出来查看
$GLOBALS //保存所有全局变量(只在当前页面中的)
get_defined_vars() //返回由所有已定义变量所组成的数组(包括全局变量,超全局变量等)
get_defined_constants() //返回由所有已定义常量所组成的数组

    
[3]PHP数组对比函数,存在交集则返回真,否则返回假
    来源: 互联网  发布时间: 2013-11-30
代码如下:

<?php
$array1 = array('a', 'b', 'c', 'd');
$array2 = array('a', 'c');
$array3 = array_intersect($array1, $array2);
if($array3) {
echo '有交集';
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3