php数据访问增删查
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" />男
<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数据访问增删查的更多相关文章
- PHP数据访问增删查(20161028)
注:预定义数组 $_POST[ ]; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- 利用dbutils工具实现数据的增删查改操作(dbutis入门)
一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...
- mysql数据库,数据表,数据的增删查改语句
查询mysql支持的引擎 show engines; 查询mysql支持的字符集 show character set; 设置mysql默认存储引擎 set default_storage_engin ...
- 如何在Vue中使用Mockjs模拟数据的增删查改
之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...
- SQLServer数据操作(建库、建表以及数据的增删查改)
SQLSever数据操作 一.建立数据库: create database DB ---数据库名称 ( name=data1 --文件名, ...
- ASP.NET使用EasyUI-DataGrid + ashx + JQuery Ajax:实现数据的增删查改,查询和分页!
转自:http://www.cnblogs.com/lt-style/p/3457399.html 数据表: 学生表:学生编号.姓名.性别.班级编号.年龄 班级表:班级编号.班级名称 开发过程: 1. ...
- SQLServer数据操作(建库、建表以及数据的增删查改)[转]
SQLSever数据操作 一.建立数据库: create database DB ---数据库名称 ( name=data1 --文件名, filename ...
- MyBatis3-实现单表数据的增删查改
继续前一篇文章http://www.cnblogs.com/EasonJim/p/7050710.html所示的例子,返回的是单个实体,而接下来将进行列表的返回等操作: 一.查询列表 查询出列表,也就 ...
- 学习记录——使用PHP实现数据增删查改等基本功能(前后端分离)
萌新初次学习服务器端语言,分享学习经验 实现功能:1.显示数据表 2.对数据进行分页 3.对数据进行增删查改 由于本萌新采用前后端完全分离方案,所以数据传输用的ajax,为了提高代码的复用 ...
随机推荐
- LUXURY 7
A.Little Pony and Expected Maximum Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:% ...
- 使一个div始终显示在页面中间
使一个div始终显示在页面中间 假设我们有一个div层:<div id=”myDiv”></div> 首先,我们用css来控制它在水平上始终居中,那么我们的css代码应该是这样 ...
- PHP get_class_methods函数用法
get_class_methods — 返回由类的方法名组成的数组 说明 array get_class_methods ( mixed $class_name ) 返回由 class_name 指定 ...
- ios 第三方登录
ios 第三方登录通常的做法是, 1.登录后,获得第三方的uid,调用服务器登录接口,如服务器返回无此用户,转2,有此用户,转3. 2.服务器返回无此用户,需完善用户资料,如果完成,则在服务器创建与第 ...
- javascript高级程序设计---Element对象
Element对象对应网页的HTML标签元素.每一个HTML标签元素,在DOM树上都会转化成一个Element节点对象(以下简称元素节点).元素节点的nodeType属性都是1,但是不同HTML标签生 ...
- CentOS-6.5安装zabbix2.4.4
使用epel源 (检查网络连接是否正常) //这里使用epel源 [root@localhost /]# wget -O /etc/yum.repos.d/CentOS-Base.repo ht ...
- 【转】MySQL数据类型和常用字段属性总结
来源:http://www.jb51.net/article/55853.htm 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. ...
- Java Io 字符流
Java Io 字符流包含: 1. InputStreamReader 它是由byte流解析为char流,并且按照给定的编码解析. 2. OutputStreamWrite 它是char流到byt ...
- BZOJ3083——遥远的国度
1.题目大意:三个操作,换根,修改树上的某条路径,查询一个子树的最小值 2.分析:这个其实还是挺好做的,修改树上的某条路径,裸树剖,查询子树的最小值,这个是树剖满足dfs序 那么就是换根了,对吧,其实 ...
- Unity手游之路<一>C#版本Protobuf
http://blog.csdn.net/janeky/article/details/17104877 个游戏包含了各种数据,包括本地数据和与服务端通信的数据.今天我们来谈谈如何存储数据,以及客户端 ...