电脑疯子技术论坛|电脑极客社区

 找回密码
 注册

QQ登录

只需一步,快速开始

[编程和数据库] mysqli的预编译机制实例讲解

[复制链接]
zhaorong 发表于 2018-6-19 11:33:50 | 显示全部楼层 |阅读模式
防止sql注入时,我们可以运用mysqli扩展的预编译来实现

举例说明:

假如在做用户登录时,我们用用户名、密码来实现登录,我们怎么来实现防sql注入(此处只讲mysqli的方法)

假如用户表有user_name,password字段,登录时,我们提交,用户名和密码时,后台处理


  1. $user_name = $params['user_name'];
  2. ?$password = md5($params['password']);
  3. $db = mysqli_connect('127.0.0.1','root','','webtest','3306');
  4. mysqli_set_charset($db,'utf8');
  5. $sql = 'SELECT id , user_name FROM user WHERE user_name =? AND password = ?';//'?'是占位符
  6. $stmt = mysqli_prepare($db,$sql);//生成具柄
  7. mysqli_stmt_bind_param($stmt,'ss',$user_name,$password);//绑定参数
  8. mysqli_stmt_execute($stmt);//执行sql
  9. mysqli_stmt_bind_result($stmt,$id,$user_name);//绑定结果
  10. mysqli_stmt_fetch($stmt);//遍历结果
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|VIP|电脑疯子技术论坛 ( Computer madman team )

GMT+8, 2025-2-4 19:52

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表