1.验证是否开启 mysqli :

//1. phpinfo()//2.检测模块是否加载extension_loaded('mysqli');//3.检测函数是否存在  function_exists('mysqli_connect');//4.得到当前已经开启的模块 get_loaded_extensions()

用户列表的实现:

userList.php

<?php
header('Content-Type:text/html;charset=utf-8');
$mysqli =new MySQLi('localhost','root','123456','test');
if($mysqli->connect_error){die('连接错误' . $mysqli->connect_error);
}$sql = "select * from user2";$result = $mysqli->query($sql);if(!$result){die("查询错误" . $mysqli->error);
}while($row = $result->fetch_row()){$rows[] = $row;  //将查到的数据封装到数组里面
}
var_dump($rows);
?><html>
<head><meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head><body>
<h2>用户列表 -- <a href="addUser.php">添加用户</a></h2>
<table border="1" cellspacing="0" cellpadding="0" width="80%"><tr><td>编号</td><td>用户名</td><td>年龄</td><td>操作</td></tr><?php foreach($rows as $row):?><tr><td><?php echo $row[0];?></td><td><?php echo $row[1];?></td><td><?php echo $row[2];?></td><td><a href="editUser.php">更新</a>|<a href="doAction.php?act=delUser&id=<?php echo $i;?>">删除</a></td></tr><?php endforeach;?>
</table>
</body>
</html>

添加用户:

addUser.php

<html>
<head><meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head><body>
<h2>添加用户</h2>
<form action="doAction.php?act=addUser" method="post"><table><tr><td>ID</td><td> <input type="number" name="id" id="" placeholder="请输入用户名ID" required="required"/> </td></tr><tr><td>用户名</td><td> <input type="text" name="username" id="" placeholder="请输入用户名" required="required"/> </td></tr><tr><td>年龄</td><td> <input type="number" min="1" max="100" name="age" id="" placeholder="请输入年龄" required="required"/> </td></tr><tr><td colspan="2"><input type="submit" value="添加用户"/></td></tr></table>
</form>
</body>
</html>

doAction.php

<?php
//添加用户
header('Content-Type:text/html;charset=utf-8');
$mysqli = new MySQLi('localhost','root','123456','test');if($mysqli->connect_error){die("连接错误" . $mysqli->connect_error);
}$mysqli->set_charset('utf8');$id = $_POST['id'];
$username = $_POST['username'];
$username = $mysqli->escape_string($username);//转义输入的特殊字符
$age = $_POST['age'];$act = $_GET['act'];//根据不同操作完成不同功能switch($act)
{case 'addUser'://echo '添加用户';$sql = "insert into user2(id,username,age) values('{$id}','{$username}','{$age}')";$res = $mysqli->query($sql);if($res){$insert_id = $mysqli->insert_id;echo "<script type='text/javascript'>alert('添加成功,网站的第{$insert_id}位用户');location.href = 'userList.php';</script>";}else{echo $mysqli->error;echo "<script type='text/javascript'>alert('添加失败');location.href = 'addUser.php';</script>";}break;
case 'delUser':echo '删除记录' . $id;$sql = "select from user where id=" . $id;$res = $mysqli->query($sql);if($res){$mes = '删除成功';}else{$mes = '删除失败';}$url = 'userList.php';echo "<script type='text/javascript'>alert('{$mes}');location.href = '{$url}';</script>";break;
}

sql 注入 :

登陆页面:<html>
<head><meta http-equiv="content-type" content="text/html"/>
</head><body>
<form action="login.php" method="post">username:<input type="text" name="username" id=""/><br/>password:<input type="password" name="password" id=""/><br/><input type="submit" value="登陆"/>
</form>
</body>
</html>
处理页面:<?php$mysqli = new MySQLi('localhost','root','123456','test');if($mysqli->connect_error){die('connect error' . $mysqli->connect_error);
}$mysqli->set_charset('utf8');$username = $_POST['username'];
$password = $_POST['password'];$sql = "select * from user1 where name='{$username}' and password='{$password}'";$mysqli_result = $mysqli->query($sql);
//var_dump($mysqli_result);die();
if($mysqli_result){echo 'Ok';
}else{echo 'No' . $mysqli->error;
}
用户名输入:  ' or 1=1 #    就可以通过验证

60. MySQLi 扩展拾遗相关推荐

  1. php 开启mysql_php如何开启mysqli扩展

    php开启mysqli扩展的方法:首先打开php.ini配置文件:然后找到[extension=php_mysqli.dll],并取消注释:最后找到[extension_dir],设置ext路径即可. ...

  2. php操作mysql数据库的扩展有哪些_8.PHP操作MySQL数据库(Mysqli扩展)

    思考:如果数据库的操作都是需要我们手动去调用客户端发送指令,那么这样的操作有什么意义呢? 引入:手动通过客户端操作MySQL数据库,只是我们学习SQL的一种手段.要实现数据库的自动调用,就需要客户端能 ...

  3. PHP的mysqli扩展

    PHP的mysqli扩展: 一.php.ini需要开启extension=php_mysqli.dll mysqli主要包括:mysqli.mysqli_result.mysql_stmt三个类,通过 ...

  4. php7不支持mysql扩展了么_php7不支持mysql扩展需要改成mysqli扩展

    最近升级php7发现不支持mysql扩展,需要改成用mysqli扩展 看代码class Db{ private $username = ''; private $password = ''; priv ...

  5. wordpress php7 mysql_WordPress可以使用PHP7的MySQLi扩展

    PHP7在安装的时候,数据库支持的编译安装选项是--with-mysqli,原来的mysql没有了. 在WordPress5.0之前,麦新杰在PHP7中,使用的都是动态编译的mysql.so. 前几天 ...

  6. mysqli 扩展_MySQLi的优势

    1. 功能增加了 2,效率大大增加(以后的PHP项目改成mysqli) 3,更稳定 mysqli使用面向对象技术,但也支持过程化的使用方式 mysqli扩展中给我提供了三个类: 1. mysqli和连 ...

  7. mysql5.5 mysqli_php5.5.38增加mysqli扩展

    php5.5.38增加mysqli扩展 发布时间:2020-08-28 03:43:17 来源:51CTO 阅读:1148 作者:xingyun2010 编译的时候正常: ./configure -- ...

  8. mysql报11004_使用mysqli扩展技术查看服务器连接错误报告的方法

    使用mysqli扩展技术查看服务器连接错误报告的方法 作为PHP的黄金搭档MySQL数据库,在PHP项目开发过程中有着举足轻重的作用,这不仅因为MySQL是完全免费的,而且和PHP一样都是完全跨平台的 ...

  9. php7.1安装mysqli扩展,centos php7 安装mysqli扩展心得

    在新配服务器时发现,php无法连接到mysql.通过phpinfo发现.根本没有显示mysqli的相关配置.经过一系列研究.总结了下.: 第一步: 在phpinfo里没有mysqli配置,原因是安装p ...

  10. php5.3 gd库,php5.3动态编译gd库 zlib扩展 mcrypt扩展 mysqli扩展

    编译gd cd /usr/local/src/php-5.3.5/ext/gd 一定要在这个目录下执行 /usr/local/php/bin/phpize 接着在当前目录下执行: ./configur ...

最新文章

  1. import static
  2. c# 图片加图片水印、文字水印和图片文字水印
  3. 微信小程序开发实战(二)UI组件介绍 Vant Weapp
  4. 利用SSH 反向代理 ,实现跨局域网连接家里的linux 主机 (树莓派)
  5. Java 将字符串转换为字符数组 toCharArray()
  6. Log日志分析--awstats
  7. 怎样在PropertySheet中添加按钮
  8. 计算机涉及数学知识点,初二数学知识点归纳
  9. 【Python】单引号、双引号、三引号和字符串
  10. 正式发布! .NET开发控件集ComponentOne 新版本加入Blazor UI
  11. 如何安装 罗技“优联技术”无线鼠标、无线键盘?
  12. Linux Command - alien
  13. 《王道计算机考研》:数据链路层
  14. 关于金格电子签章的使用问题处理
  15. Failed to list versions for
  16. 硬盘的修复(二)电脑引导出错的维护
  17. 计算机网络---网络层
  18. 四川地区办理增值电信经营许可证
  19. 深入剖析虚拟内存工作原理
  20. python中predict函数_sklearn中predict()与predict_proba()用法区别

热门文章

  1. silverlight异常
  2. php-cs-fixer不起作用,使用 PHP-CS-Fixer 规范PHP代码
  3. xampp 2016支持php7.0,xampp 装php7
  4. selenium03-三个简单的web自动化实例
  5. Python之父:为什么操作符很有用?
  6. Hibernate:Hibernate缓存策略详解
  7. 描绘质量属性的六个常见属性场景。
  8. 解决:/bin/bash: mvn: 未找到命令
  9. jquery的快捷手册
  10. Nginx之11吸星大法 - (页面缓存)