简体   繁体   English

我的PHP变量没有插入我的MySQL表

[英]My PHP variables aren't inserting into my MySQL table

<?php

mysql_connect("10.246.16.129", "alanay_org", "SNIP")or die("Cannot Connect"); 
mysql_select_db("alanay_org")or die("cannot select DB");

INSERT INTO members ('id', 'username', 'password')
VALUES
(NULL, '$_POST[username]','$_POST[password]')";

?>

My code isn't inserting into my MySQL table, the rows go by id, username then password. 我的代码没有插入我的MySQL表,行按id,用户名和密码。 I've checked and I haven't gotten anything wrong from the HTML register form. 我已经检查过,我没有从HTML注册表单中得到任何错误。 Please help. 请帮忙。

Sorry, I'm really new to PHP. 对不起,我是PHP新手。 Give me a break. 给我一个休息时间。

EDIT: 编辑:

This is the register.php 这是register.php

<!DOCTYPE html>
<html>
    <head>
        <title>Login</title>
        <link rel="stylesheet" type="text/css" href="/form/stylesheet.css" />
    </head>
    <body>
        <center>
            <form action="/form/registered.php" method="post">
                <input class="username" name="username" type="text" placeholder="Username" />
                <input class="password" name="password" type="password" placeholder="Password" />
                    <input class="submit" type="submit" value="Register" />
            </form>
        </center>
    </body>
</html>

This is the registered.php 这是registered.php

<?php
$con = mysqli_connect("10.246.16.129","alanay_org","password","alanay_org");

$sql = "INSERT INTO members ('username', 'password') VALUES ('$_POST['username']','$_POST['password']')";

mysqli_query($con, $sql);
?>

What am I doing wrong? 我究竟做错了什么? :( :(

Your post variables have the wrong syntax. 您的帖子变量的语法错误。 This: 这个:

$_POST[username]

should be: 应该:

$_POST['username']

Plus what @Dagon said. 再加上@Dagon说的话。

Here is how to do it: 这是怎么做的:

$con=mysqli_connect("host","username","password","database_name");
mysqli_query($con,"INSERT INTO members ('username', 'password') VALUES ($_POST['username'], $_POST['password']);

You don't need to put id if it is auto-increment. 如果是自动增量,则不需要输入id。
This method is not secure from SQL injections. SQL方法不能保证此方法的安全性。 You can use prepared statements for security purposes. 出于安全目的,您可以使用预准备语句。

<?php
mysql_connect("10.246.16.129", "alanay_org", "SNIP")or die("Cannot Connect"); 
mysql_select_db("alanay_org")or die("cannot select DB");
mysql_query("INSERT INTO members ('username', 'password') VALUES ('".$_POST['username']."','".$_POST['password']."')");
?>

If this doesn't work for you, your POST-variables are missing or empty. 如果这对您不起作用,则POST变量将丢失或为空。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM