【发布时间】:2017-06-12 09:31:49
【问题描述】:
<?php
session_start();
$host="localhost";
$username="root";
$password="";
$db_name="registrering";
$tbl_name="users";
$conn = mysqli_connect($host, $username, $password, $db_name);
if(!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
<html>
<head>
<title>user registration system using php and PHP and Mysq</title>
<!---<link rel="stylesheet" type="text/css" href="style.css">-->
</head>
<body>
<div style="float:right; width:70%">
<table width="150px" border="0" cellpadding="3" cellspacing="1">
<h2>Registrer<h2/>
<form method="post" action=" ">
<br>
<tr>
<td>Brugernavn</td>
<td>:</td>
<td><input type="text" name="Brugernavn"> </td>
</tr>
<br>
<tr>
<td>Email</td>
<td>:</td>
<td><input type="text" name="Email"> </td>
</tr>
<br>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="Password"></td>
</tr>
<input type="submit" name="registrer" value="Registrer">
<p>
Allerede medlem? <a href="login.php">Log ind</a>
</p>
</form>
</div>
</table>
</body>
</html>
<?php
if (isset($_POST["registrer"]))
{
$my_username=$_POST["Brugernavn"];
$my_email=$_POST["Email"];
$my_password=$_POST["Password"];
$sql = "INSERT INTO 'users'(`username`, `email`, `password`) VALUES ('$my_username','$my_email','$my_password')";
$resultat = mysqli_query($conn, $sql);
}
?>
它需要连接到数据库,但它不需要。它位于本地主机上,我们无法将数据插入数据库。该数据库由用户名、电子邮件和密码组成。 我们正在使用 varchar(65) 和 utf8_general_ci。
【问题讨论】:
-
了解prepared Statements以防止SQL注入
-
执行 SQL 语句后检查错误 (
mysqli_error) -
是连接失败还是查询失败?您是否从 mysqli_connect_error(连接后)或 mysqli_error(查询后)收到任何错误?正如其他人所说,您的代码容易受到 SQL 注入攻击,您应该改用使用参数来帮助防止这种情况。
-
我没有收到任何错误。它只是有点刷新。