目录
4)选择特定的数据库 mysqli_select_db ( $link , string $dbname);
一,基础知识
PHP与mysql交互_pipasound的博客-CSDN博客 这篇文很好
建立、关闭与MySQL服务器的连接
1)连接指定的mysql服务器
$link=@mysqli_connect($host, $user, $password,$database,$port);
2)连接错误时的提示
int mysqli_connect_errno (); //返回最后一次连接调用的错误代码
string mysqli_connect_error (); //返回一个字符串描述的最后一次连接调用的错误代码
3)设置默认字符编码
mysqli_set_charset ( $link , string $charset )
4)选择特定的数据库 mysqli_select_db ( $link , string $dbname);
5)关闭与mysql服务器的连接
mysqli_close ( $link );
<?php
header('Content-type:text/html;charset=utf-8');
//与MySQL数据库建立连接
$link = @mysqli_connect('localhost', 'root' . '', 'login');
//连接错误时的提示
if (mysqli_connect_errno()) {
exit(mysqli_connect_error());
}
//设置默认字符编码
mysqli_set_charset($link, 'utf8');
//选择特定的数据库
mysqli_select_db($link, 'login');
//做各种操作!
//关闭与mysql服务器的连接
mysqli_close($link);
二,实现登录注册表单
首先我在本地创建了一个login库 user表,用户名 密码字段,(我的表单就这两项)
首先这里登录和注册各写了HTML 和 PHP,下面来介绍
登录
有一个登录界面的话得先写个HTML(没有渲染很潦草)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>登良前端</title>
</head>
<body>
<div>
<form action="login.php" method="POST">
用户名:<input type="text" name="username"><br>
密 码: <input type="password" name="password"><br>
<input type="submit" value="登录"><br>
</form>
<div>
还没有账号?<a href="register.html">马上注册</a>
</div>
</div>
</body>
</html>
紧接着就是php交互mysql啦用到上面的知识,与HTML通过form表单的action属性连接
<?php
header('Content-type:text/html;charset=utf-8');
//与MySQL数据库建立连接
$link = @mysqli_connect('127.0.0.1', 'root' . '');
//连接错误时的提示
if (!$link) {
die("连接失败: " . mysqli_connect_error());
}
//设置默认字符编码
mysqli_set_charset($link, 'utf8');
//选择特定的数据库
mysqli_select_db($link, 'login');
$username = $_POST['username'];
$password = $_POST['password'];
if ($username == '') {
echo "<script>alert('请输入用户名')</script>";
}
if ($password == '') {
echo "<script>alert('请输入密码')</script>";
}
//数据库查询语句,就是这样的查询方式存在着致命的SQL注入
$sql = "select * from user where username='$username' and password='$password'";
//查询结果保存在$res对象中
$res = mysqli_query($link, $sql);
//把$res转换成索引数组
$row = mysqli_fetch_array($res, MYSQLI_NUM);
// 数组不为空就显示登入成功
if (!is_null($row)) {
echo "登入成功";
} else {
echo "账号或密码错误<br>登录失败!";
}
//关闭与mysql服务器的连接
mysqli_close($link);
随便输入用户名和密码,登录失败,因为数据库是空的嘛,没有注册
注册
因为没有注册嘛,直接通过马上注册的a链接访问到 register.html 也就是注册前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册前端</title>
</head>
<body>
<div>
<form action="register.php" method="post">
<p><span>用户名:<input type="text" name="username" required=""></span></p>
<p><span>密码:<input type="text" name="password" required=""></span></p>
<input type="reset" name=""><input type="submit" name="Submit" value="注册">
</form>
<a href="login.html">已注册</a>>
</div>
</body>
</html>
注册php与mysql交互, 通过 insert into 插入数据,也就是所谓注册
<?php
header('Content-type:text/html;charset=utf-8');
$link = mysqli_connect('localhost', 'root', '');
if (!$link) {
die("连接失败" . mysqli_connect_error());
}
mysqli_set_charset($link, 'utf8');
mysqli_select_db($link, 'login');
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "INSERT INTO user values('{$username}' , '{$password}')";
$res = mysqli_query($link, $sql);
if (!$res) {
die("cannot insert " . mysqli_error($link));
}
echo "注册成功<br>";
echo "<a href='login.html'>登录</a>";
mysqli_close($link);
我们写入数据注册,成功执行
此时我们的user表里也插入了相应的数据 ,注册成功我们直接去登录
可以发现登录成功