数据库
常用的数据库有?
数据库软件:mysql,sqlserver,orcale,mongdb,db2
数据存储的仓库:硬盘 U盘 网盘 光盘 excel
数据库软件存放的数据?
结构化的数据
数据库有
> 关系型数据库mysql以表作为数据的基础结构
> 非关系型数据库:存储的内容以文档形式
MySQL
特点:开元、安全、稳定、跨平台的关系型数据库
sql语句
sql语句适用于大部分的关系型数据库,关键字不区分大小写
#创建表
create `表名`
#查询
select *from `表名`
#增加
insert into `表名` 字段名 values ‘加入的字段名’
#删除
delete from 表名 where条件
#修改
update `表名` set 字段=赋值 where 条件
数据库的连接
1、连接数据库,判断是否连接成功
$mysql_key=array(
'host'=>'localhost:3306',//mysql数据库的默认地址
'db_user'=>'root',//数据库的登录用户名
'db_pass'=>'root',//数据库的登录密码
'db'=>'html-2006'//选择的数据库名
);
//mysqli登录数据库,一个永远连接函数,@表示可以屏蔽错误警告
$mysqli=@new mysqli($mysql_key['host'],$mysql_key['db_user'],$mysql_key['db_pass']);
//如果没有连接上数据库,则终止代码的执行
if($mysqli->connect_errno){
die('连接错误'.$mysqli->connect_errno)//显示错误代码编号方便查询错误
};
mysqli表示登录数据库,一个永远连接函数,@表示可以屏蔽错误警告
php中的对象属性用->访问,$mysqli->connect_errno错误代码
$mysqli->query查询数据库,相当于数据库中的select
$mysqli->error
$mysqli->fetch_assoc()获取一条数据
2、设置查询字符串防止乱码
//mysql选择Unicode-general-ci不区分大小写
$mysqli->query('set names utf8');
3、选择数据库
$select_db=$mysqli->select_db($mysql_key['db']);
if(!$select_db){die('数据库选择错误'.$mysqli->error)}
注册页面
include(’’)引入连接数据库的页面
注册逻辑
1)include('')引入连接数据库的页面
2)后端接收前端以get方式发送的数据
3)验证用户名是否存在,在后端数据库中查询,查询完后关闭数据库
>num_rows查询到的行数大于0,则表示用户名以存在,跳转到到注册页面
3)(1)如果用户名存在,返回数据用户名已存在,注册失败
(2)如果用户名不存在,将数据insert写入数据库,并让前端响应注册成功,跳转到登录界面
<?php
include('./connect.php');
$username=$_REQUEST['username'];
$password=$_REQUEST['password'];
$email=$_REQUEST['email'];
$address=$_REQUEST['address'];
$phone = $_REQUEST['phone'];
$sql="select * from users where username='$username'";
$result=$mysqli->query($sql);
if($result->num_rows>0){
echo '<script>alert("用户名已存在");</script>';
echo '<script>location.href="../register.html";</script>';
$mysqli->close();
die();
}
$insert="insert into users(username,password,email,phone,address) values('$username','$password','$email','$phone','$address')";
$res=$mysqli->query($insert);
if($res){
echo '<script>alert("注册成功");</script>';
echo '<script>location.href="../login.html";</script>';
}
?>
登录页面
登录逻辑
1)include('')引入连接数据库的页面
2)后端接收前端以get方式发送的数据
3)查找用户名和密码是否存在,在后端数据库中查询,查询完之后关闭数据库
如果没有数据,用户名和密码错误,跳转到登录界面
如果有数据,>num_rows查询到的行数大于0,则表示用户名和密码存在以存在,跳转到到index页面
<?php
include('../lib/connect.php');
$username=$_REQUEST['username'];
$password=$_REQUEST['password'];
$sql="select * from users where username='$username' and password='$password'";
$res=$mysqli->query($sql);
$mysqli->close();
if($res->num_rows>0){
echo '<script>alert("登录成功")</script>';
echo '<script>location.href="../index.html"</script>';
}else{
echo '<script>alert("用户名或密码错误")</script>';
echo '<script>location.href="../login.html"</script>';
}
?>