一.mysqli的好处
- 安全:防止sql注入
Sql注入:就是通过把SQL命令插入到Web提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
Eg:登陆表单传回账户名与密码,然后使用sql语句去查询
$pwd=&_POST[‘pwd’];
$name=$_POST[‘name’];
$sql=” select * from login where pwd= ”+$pwd+” and name =”+$name+” ”;
正常这样验证没有问题,但是遇到别人恶意sql注入时;例如别人提交的表单中pwd的值为:‘ or 1=1 ’时;
Sql语句变为:select * from login where pwd =。。。 and name = or 1=1 ”;
这样sql恒为真,不需要正确的账号与密码就恶意登陆了
使用mysqli时可以使用预处理语句(类似jdbc):
- 快速:一条sql只解析一次
二.
1. mysqli连接是永久连接,而mysql是非永久连接。
mysql连接:每当第二次使用的时候,都会重新打开一个新的进程。
mysqli连接:一直都只使用同一个进程。
好处:这样就可以很大程度的减轻服务器压力。
2.mysql_connect与mysql_pconnect与mysqli_connect:
mysql_pconnect打开的连接不会关闭(即使调用mysql_close也不会关闭,因为对其无效), 类似于连接缓冲池,如果下次有来自于同一个机器的同一个用户名 对同一个数据库的连接,php会自动使用上次已经建立的连接,而不需要再重新建立一个。? 好处:是省去了每次与建立连接的开销, 坏处:是需要浪费一些,占用一些连接, 所以如果用户访问量大的时候会出现错误,要把的max_connections参数改大一点,?或者使用mysql_connect()就解决问题。connect与pconnect不会带来功能的差异,?只有性能上的差别.
一般php有俩种运行模式,?一是作为cgi运行,?二是作为apache的模块运行.? 作为cgi的时候connect跟pconnect没什么不同,?因为每次cgi进行运行结束后都会被销毁清理掉资源
三:mysqli的常用函数与常用用法
连接与基本使用见data_run
多条语句查询见demo1
返回索引数组关联数组等见PHP.php
四:mysqli的样例演示
见kq代码
pdo扩展page.class.php
PHP.page.class.php