在php中对mysl数据进行插入的时候,经常会涉及到安全的问题,最常见的就是sql注入的问题,而mysql的预处理能够很好地防止sql注入的问题,因为mysql在接收数据的时候已经先编译好了,参数和数据库的编译已经分开执行了,同时还可以大大减少带宽,那么在php是如何让对mysql插入数据进行预处理的呢?
1、连接数据库。
先连上我们本地的数据库,同时要制定我们要使用哪一个数据库。
2、预处理
mysql的预处理语句用prepare这个函数来执行,它会先用?将我们要传递的参数先代替,例子如下:
bianyi=connect-prepare(insertintotest1(username,age,register_time)values(?,?,?));
注意:prepare函数中表的字段名不能够加引号,如username不能用“username”,要不然会提示Calltoamemberfunctionbind_param()onanon-object。
3、绑定参数
接下来就是绑定我们的参数,用bind_param参数来实现,例子如下:
bianyi-bind_param(sis,name,age,register_time);
bind_param的第一个参数是要插入字段的类型,比如“sis”表示的是第一个字段是字符串类型,第二个字段是int类型,第三个字段是字符串类型。
4、执行
最后我们就开始来执行我们的插入语句了,用execute函数来实现。
name=luo;
age=12;
register_time=date(Y-m-dH:i:s,time());
bianyi-execute();
name=li;
age=14;
register_time=date(Y-m-dH:i:s,time());
bianyi-execute();
5、测试。
最后就是测试我们这个预处理是否成功,在浏览器中输入本地的地址进行测试。