它需要连接到数据库,但事实并非如此。

时间:2017-06-12 09:31:49

标签: php html mysql database

<?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);
}
?>

它需要连接到数据库,但事实并非如此。它位于localhost上,我们无法将数据插入数据库。数据库由用户名,电子邮件和密码组成。 我们使用的是varchar(65)和utf8_general_ci。

2 个答案:

答案 0 :(得分:1)

假设连接正常 - 插入应该在用户名周围有后退,而不是正常的引号。

$sql = "INSERT INTO `users`(`username`, `email`, `password`) VALUES ('$my_username','$my_email','$my_password')";

我还建议查看预处理语句和绑定参数,不要忘记不将密码存储为平面文本。

答案 1 :(得分:1)

只是小费。每次运行mysql查询时,尝试使用die()打印出mysql错误。希望它能在调试过程中为您节省大量精力和时间。也可以在insert语句附近使用反向标记users