将登录信息插入 mysql 数据库
insert login info to mysql database
我正在学习phpmysql但是我遇到了这个问题。我无法将登录信息插入到我的数据库 table。我的数据库名称是 loginapp,table 名称是 users。请查看我为 ----
创建的代码
<?php
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$connection = mysqli_connect('localhost', 'root', '','loginapp');
if(!$connection){
die("Database connection failed");
}
$query = "INSERT INTO users(username,password)";
$query .= "VALUES ('$username', '$password')";
$result = mysqli_query($connection, $query);
if(!$result){
die('query is faild' . mysqli_connect_error());
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login </title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="col-xs-6">
<form action="login.php" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username"class="form-control">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control">
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Submit">
</form>
</div>
</div>
</body>
</html>
您需要 space 在您的值之前
$query = "INSERT INTO users(username,password)";
$query .= " VALUES ('$username', '$password')";
^
您的代码可用于 sql 注入,请检查下方 link 以防止它
How can I prevent SQL injection in PHP?
要检查查询中的错误,请使用
printf("Errormessage: %s\n", $mysqli->error);
http://php.net/manual/en/mysqli.error.php
使用数据库检查连接错误
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
http://php.net/manual/en/mysqli.error.php
不要将明文密码存储到数据库中使用
试试这个
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = mysqli_real_escape_string($connection, $_POST['password']);
$query = "INSERT INTO users(username,password)";
$query .= " VALUES ('$username', '$password')";
此外,请检查您的 table 并且列名拼写正确。
我正在学习phpmysql但是我遇到了这个问题。我无法将登录信息插入到我的数据库 table。我的数据库名称是 loginapp,table 名称是 users。请查看我为 ----
创建的代码<?php
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$connection = mysqli_connect('localhost', 'root', '','loginapp');
if(!$connection){
die("Database connection failed");
}
$query = "INSERT INTO users(username,password)";
$query .= "VALUES ('$username', '$password')";
$result = mysqli_query($connection, $query);
if(!$result){
die('query is faild' . mysqli_connect_error());
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login </title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="col-xs-6">
<form action="login.php" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username"class="form-control">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control">
</div>
<input class="btn btn-primary" type="submit" name="submit" value="Submit">
</form>
</div>
</div>
</body>
</html>
您需要 space 在您的值之前
$query = "INSERT INTO users(username,password)";
$query .= " VALUES ('$username', '$password')";
^
您的代码可用于 sql 注入,请检查下方 link 以防止它
How can I prevent SQL injection in PHP?
要检查查询中的错误,请使用
printf("Errormessage: %s\n", $mysqli->error);
http://php.net/manual/en/mysqli.error.php
使用数据库检查连接错误
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
http://php.net/manual/en/mysqli.error.php
不要将明文密码存储到数据库中使用
试试这个
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = mysqli_real_escape_string($connection, $_POST['password']);
$query = "INSERT INTO users(username,password)";
$query .= " VALUES ('$username', '$password')";
此外,请检查您的 table 并且列名拼写正确。