默认MySql没有配置密码 已经会基本MySQL语句

一样 开头也要有链接数据库

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$servername = "localhost";//服务器名
$serverRootName = "root";//mysqli账号 (root)
$serverPasswd = "";//mysqli账号的密码 (root)
$db = "mydb";//数据库名
$mysql = new mysqli($servername, $serverRootName, $serverPasswd, $db); //链接mysqli
if($mysql->connect_error){
die("链接失败: ". mysqli_connect_error()); //如果失败输出error
}
$mysql->set_charset("utf8");
inputSomethingsInDB($mysql);
?>

先看题目 我们要实现注册+重复注册这个功能
需要会 SELECT and INSERT
然后需要几个function
这里我的命名可能有点nt 毕竟我是新手w

检测重复注册code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function inputSomethingsInDB($mysql)
{
$sql1 = "SELECT username FROM user WHERE username = ? "; //搜索注册页面输入的 username 是否存在数据库里的语句
$username = $_POST["username"]; //获得网页输入username
$mysqli_stmt1 = $mysql->prepare($sql1); //预处理
$mysqli_stmt1->bind_param("s",$username); //执行语句

if($mysqli_stmt1->execute()){ //如果语句已经执行

$dbusername = null; //预定义

$mysqli_stmt1->bind_result($dbusername); //获取语句拉出的结果
while ($mysqli_stmt1->fetch()){ //如果有结果 那就是重复注册
echo "<script>alert('不允许重复注册!');window.location.href='register.html'</script>";
}if($dbusername == false ){ //如果没有结果 那么就可以执行注册这个function
register($mysql);
}else{
echo "AADb:".$dbusername."input:".$username; //无视这个 这个是之前有bug的时候乱整的
}

}else{
echo $mysqli_stmt1->error;
}

$mysqli_stmt1->close();
}
执行注册code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function register($mysql) //注册function
{
$sql = "INSERT INTO user (username , gender , password , ID , brief) VALUES (?,?,?,?,?)"; //新建一个在网页上的输入的内容的用户 可能有点绕口 你只需要知道他是新建用户
$mysqli_stmt = $mysql->prepare($sql); //预处理

$username = $_POST["username"];//获取网页输入
$gender = $_POST["gender"]; //获取网页输入
$passwd = $_POST["pword"]; //获取网页输入
$id = $_POST["name"]; //获取网页输入
$brief = "notings here!"; //获取网页输入
$mysqli_stmt->bind_param("sisss", $username , $gender , $passwd , $id,$brief);//执行预处理指令


if($mysqli_stmt->execute()){ //如果预处理执行

echo $mysqli_stmt->insert_id; //
echo PHP_EOL;//
echo "<script>alert('恭喜你,注册成功');window.location.href='login.html'</script>";//

}else{
echo $mysqli_stmt->error;
}

$mysqli_stmt->free_result();
$mysqli_stmt->close();

}

$mysql->close(); //关闭链接

这样就可以完成注册+检测重复注册判定