1、先做一个登陆界面

<form action="chuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<div><input type="submit" name="" value="确定" /></div>
</form>

2、访问数据库进行账号密码验证(拿用户名查密码,再进行验证)

$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; $db = new MySQLi("localhost","root","159357","shuiguo"); $sql = "select password from login where username='{$uid}'"; //当用此方法时会出现不输入数据就能直接登录,所以要加if判断密码不等于空 $reslut = $db->query($sql); $n = $reslut->fetch_row(); if($uid !="" && $pwd != "") //判断用户名跟密码不等于空
{
if($n[0]==$pwd) //当用此方法时会出现不输入数据就能直接登录,所以要加if判断密码不等于空
{
header("location:main.php");
}
else
{
echo "用户名或密码错误!";
}
}
else
{
echo "用户名密码不能为空";
}

3、登录后跳转到主页:通过查数据库里面的内容,返回一张表、增加操作列(删除)

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>生日</td>
<td>操作</td>
</tr> <?php
$db = new MySQLi("localhost","root","159357","renyuanxinxi"); $sql = "select * from info"; $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v)
{
$sex = $v[2]?"男":"女"; //三元运算符 $name = NationName($v[3]);
/*$sname = "select name from nation where code='{$v[3]}'"; //根据民族代号查询民族名称 $rname = $db->query($sname); //执行返回rname结果集 $aname = $rname->fetch_row();*/ //返回数组aname 里面存民族名称 查到了一个 echo "<tr>";
echo "<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$sex}</td>
<td>{$name}</td>
<td>{$v[4]}</td>
<td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('主人真的不要我了吗?')\">删除</a></td>";
//传主键值c,根据主键值删除数据
 //confirm 带确定的对话框(如果用户点确定就返回true 点取消就返回false) // \反斜杠 转义字符
//第一种方法:直接写<td>
/*foreach($v as $v1) //第二种方法:用循环代替<td>
{
echo "<td>{$v1}</td>";
}
echo "</tr>";*/
} function NationName($code) //如果觉得上面写的比较乱,可以用封装 //给一个民族代号返回民族名称
{
$db = new MySQLi("localhost","root","159357","renyuanxinxi"); $sql = "select name from nation where code='{$code}'"; $result = $db->query($sql); $attr = $result->fetch_row(); return $attr[0];
}
?> </table> <a href="add.php"><input type="button" value="点我添加" /></a>

4、删除操作(根据主键值来进行单条删除)

<?php

$code = $_GET["c"];

$db = new MySQLi("localhost","root","159357","renyuanxinxi");

$sql = "delete from info where code='{$code}'";

$r = $db->query($sql);

if($r)
{
header("location:main.php");
}
else
{
echo "删除失败!";
}

5、做一个添加页面(民族列访问数据库,创建下拉列表)

<form action="addchuli.php" method="post">
<div>代号:<input type="text" name="code" /></div>
<div>姓名:<input type="text" name="name" /></div>
<div>性别:
<input type="radio" name="sex" value="1" checked="checked" />男
&nbsp;
<input type="radio" name="sex" value="0" />女
</div>
<div>民族:
<select name="nation">
<?php
$db = new MySQLi("localhost","root","159357","renyuanxinxi");
$sql = "select * from nation"; //查找民族信息
$result = $db->query($sql);
$result = fetch_all(); foreach($attr as $v)
{
echo "<option value='{$v[0]}'>{$v[1]}</option>"; //所有表单提交的是value值
}
?>
</select>
</div>
<div>生日:<input type="text" name="birthday" /></div> <div><input type="submit" value="添加"</div>
</form>

6、添加页面处理

$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthday = $_POST["birthday"]; $db = new MySQLi("localhost","root","159357","renyuanxinxi"); $sql = "insert into info values('{$code}','{$name}',{$sex},'{$nation}','{$birthday}')"; //'{$name}'字符串往布尔型里面扔永远是true $db->query($sql); header("location:main.php"); //在添加性别与民族的时候要写 1或者0 民族代号

小插曲(sql注入攻击)

sql语句代码   

    $sql = "select count(*) from login where username='{$uid}' and password='{$pwd}'"

用特定字符串登录   a' or '1'='1

解决方法
针对php来说:
1、优化语句
2、处理用户输入内容,用函数判断有无特殊符号
3、PDO方法:分两次发送

php数据访问增删查的更多相关文章

  1. PHP数据访问增删查(20161028)

    注:预定义数组   $_POST[ ]; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  2. 利用dbutils工具实现数据的增删查改操作(dbutis入门)

    一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...

  3. mysql数据库,数据表,数据的增删查改语句

    查询mysql支持的引擎 show engines; 查询mysql支持的字符集 show character set; 设置mysql默认存储引擎 set default_storage_engin ...

  4. 如何在Vue中使用Mockjs模拟数据的增删查改

    之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...

  5. SQLServer数据操作(建库、建表以及数据的增删查改)

              SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,         ...

  6. ASP.NET使用EasyUI-DataGrid + ashx + JQuery Ajax:实现数据的增删查改,查询和分页!

    转自:http://www.cnblogs.com/lt-style/p/3457399.html 数据表: 学生表:学生编号.姓名.性别.班级编号.年龄 班级表:班级编号.班级名称 开发过程: 1. ...

  7. SQLServer数据操作(建库、建表以及数据的增删查改)[转]

    SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,          filename ...

  8. MyBatis3-实现单表数据的增删查改

    继续前一篇文章http://www.cnblogs.com/EasonJim/p/7050710.html所示的例子,返回的是单个实体,而接下来将进行列表的返回等操作: 一.查询列表 查询出列表,也就 ...

  9. 学习记录——使用PHP实现数据增删查改等基本功能(前后端分离)

    萌新初次学习服务器端语言,分享学习经验 实现功能:1.显示数据表    2.对数据进行分页    3.对数据进行增删查改 由于本萌新采用前后端完全分离方案,所以数据传输用的ajax,为了提高代码的复用 ...

随机推荐

  1. Js设置及获取Cookie的方法

    Login页面设置Cookie: <script type="text/javascript"> if(json.result=="true") { ...

  2. OC第七节——内存管理

    戏言: iOS开发已经到了一个ARC时代,一般不需要我们过多的去关注内存是怎么分配,怎么管理的.很长一段时间,我也不知道内存管理是什么鬼,但如果遇到这方面的问题,却找不到解决办法确实很头疼的.So,还 ...

  3. LR测试登陆后进行的操作时 绕过登录

    oadrunner web_add_cookie web_add_cookie 这个的函数原来真的能过逃过登录,哈哈,这个苦苦纠结我的问题呀. 函数原型:int web_add_cookie( con ...

  4. bootstrap-dropdown

    功能:实现点击时下拉框显示 插件:dropdown.js 要点:dropdown功能往往用在导航栏.导航条上,用作标题显示.dropdown与<ul><li>标签搭配用. 以d ...

  5. PHP Socket实现websocket(二)Socket函数

    PHP socket函数是调用系统的的Socket函数,可以参考C语言的socket函数. Socket函数:http://php.net/manual/en/book.sockets.php 服务器 ...

  6. ii7安装php

    http://www.jb51.net/article/22372.htm 我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使 ...

  7. ProgressDialog的使用

    ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口. ProgressDialog的创建方式有两种,一种是ne ...

  8. Java多线程文件下载

    一. 多线程下载文件考虑处理步骤: 1. 如何获取文件的长度 2. 合理的创建线程数量,并计算每一个线程下载的长度 3. 如何将多个线程下载的字节写入到文件中 二. 代码实现如下: package c ...

  9. iOS开发——UI进阶篇(九)block的巧用

    前面有提到通知.代理.kvo等方法来协助不同对象之间的消息通信,今天再介绍一下用block来解决这个问题 接着前面的例子 这里将功能在复述一遍 我把用block和通知放在一起比较,当然代理和kvo如何 ...

  10. python 循环语句的else语句用法,当循环条件变为假,切不是通过breakbreak终止的时候,就会执行这个else语句。

    循环语句可以有一个else子句:当(for)循环迭代完整个列表或(while)循环条件变为假,而非由break语句终止时,就会执行这个else语句.下面循环搜索质数的代码例示了这一点: >> ...