php每日知识点总结一
一、php基础
-
单引号与双引号
- 单引号,不转义,原样输出。
- 双引号,转义,有变量的会替换变量的值,有转义字符的会进行转义,而单引号会把它当做字符串输出。
-
单下划线与双下划线
- 单下划线:私有函数。
- 前双下划线:内置函数(魔术方法)。
魔术方法:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload
- 起止为双下划线的常量即为“魔术常量”
魔术常量:
__LINE__:文件中的当前行号。
__FILE__:文件的完整路径和文件名。
__DIR__:文件所在的目录。
- 通过依赖注入,面向接口编程,达到程序间的解耦。PHP5调用父类用的是parent:: 而不是 parent-> ,这足以说明PHP5不想在内存中让父类也被创建。PHP5想让继承变的比Java更简单。
二、mysql与mysqli用法区别:
二者区别:
- 在php5版本之前,一般是用php的mysql函数去驱动MySQL数据库的,比如mysql_query()函数,属于面向过程。
- 在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动MySQL数据库。
- mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。
mysql与mysqli用法:
- mysql(过程方式):
$conn = mysql_connect(‘localhost’, ‘user’, ‘password’); //连接mysql数据库
mysql_select_db(‘data_base’); //选择数据库
$result = mysql_query(‘select * from data_base’);//第二个可选参数,指定打开的连接
$row = mysql_fetch_row( $result ) ) //只取一行数据
echo $row[0]; //输出第一个字段的值
- mysqli(对象方式):
$conn = new mysqli(‘localhost’, ‘user’, ‘password’,’data_base’); //要使用new操作符,最后一个参数是直接指定数据库
//假如构造时候不指定,那下一句需要
$conn -> select_db(‘data_base’)实现
$result = $conn -> query( ‘select from data_base’ );
$row = $result -> fetch_row(); //取一行数据
echo row[0]; //输出第一个字段的值
获取数据
//获取数据,参数不能直接是sql语句,是结果集标识符
mysqli_fetch_assoc() //关联数组
mysqli_fetch_object() //返回对象
mysqli_fetch_row() //索引数组
mysqli_fetch_array() //可以是关联数据或索引数组,或者二者都有。