不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2015-07-09 15:53:34  修改时间:2024-04-28 23:39:12  分类:PHP基础  编辑

当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险。

作者:Albert.Wen  添加时间:2015-07-08 22:04:38  修改时间:2024-04-28 23:39:15  分类:PHP基础  编辑

PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:

PDO::ERRMODE_SILENT

此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。

作者:Albert.Wen  添加时间:2015-07-06 15:51:56  修改时间:2024-04-28 23:39:19  分类:PHP基础  编辑

PDO是啥

PDO(PHP Data Object)是PHP5新加入的一个重大功能,因为在PHP5以前的PHP4/PHP3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dllphp_pgsql.dllphp_mssql.dllphp_sqlite.dll等等扩展来连接MySQLPostgreSQLMS SQL ServerSQLite,同样的,我们必须借助 ADOdbPEAR::DBPHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,PHP代码的效率怎么能够比我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。

作者:Albert.Wen  添加时间:2015-07-06 12:36:15  修改时间:2024-04-21 22:53:38  分类:PHP基础  编辑
if (!empty (get_gpc('userId'))) {
	$userId = get_gpc('userId');
} else {
	$error = "ID doesn't exist";
}

报错:

Fatal error: Can't use method return value in write context in (line number)

作者:Albert.Wen  添加时间:2015-06-17 09:21:04  修改时间:2024-04-21 01:10:05  分类:PHP基础  编辑

定义和用法

sprintf() 函数把格式化的字符串写入一个变量中。

语法

sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
 
作者:Albert.Wen  添加时间:2012-05-19 23:01:36  修改时间:2024-04-15 01:24:13  分类:PHP基础  编辑

封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:

1. 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。

2. 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

作者:Albert.Wen  添加时间:2017-10-26 14:00:46  修改时间:2024-04-29 12:32:40  分类:PHP基础  编辑

Mac Pro 电脑编译安装了 PHP 5.6.21,先前的系统运行时报如下警告级错误:

Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead.

意思是 自动变量 $HTTP_RAW_POST_DATA 已过时,将来会被移除,使用 php://input 流方式代替!

作者:Albert.Wen  添加时间:2015-04-25 12:37:21  修改时间:2024-04-18 14:10:03  分类:PHP基础  编辑

addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢?

作者:Albert.Wen  添加时间:2015-04-07 11:43:40  修改时间:2024-04-21 00:10:07  分类:PHP基础  编辑

专访阿里巴巴研究员“赵海平”:Facebook的PHP底层性能优化之路

http://www.infoq.com/cn/articles/interview-alibaba-zhaohaiping

作者:Albert.Wen  添加时间:2017-10-29 21:20:00  修改时间:2024-04-28 23:39:28  分类:PHP基础  编辑

如何计算一段php程序代码的执行消耗时间?

对于系统时间,可能很多同学对php的time()函数并不陌生,可惜time()函数只返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

没错,是秒。我们一段php程序代码执行耗时可能并不超过一秒,所以time()并不适用。php提供了一个更为精确的时间函数microtime():

microtime — 返回当前 Unix 时间戳和微秒数。

格式: mixed microtime ([ bool $get_as_float ] )