我想把项目插入我的数据库,但似乎无法插入,这是我的代码,任何人都知道原因


I want to insert item into my database, but it seems cannot insert into it, here is my code, anyone know the reason?

我想把项插入我的数据库,但它似乎无法插入,这是我的代码,有人知道原因吗?

提交后,我检查了我的表"信息",它也没有任何变化。

https://i.stack.imgur.com/z9rxI.jpg

这是注册页面的前端,也是提交后的test.php

您没有将'封装在$_POST变量的密钥访问器中,而直接将传递给查询函数(不应该…请参见下文)。但是,我将向您展示如何更好地保护自己不受SQL注入的影响,而不是向您演示如何更正这一点。

目前,通过简单地允许用户将数据直接发布到数据库中,您非常容易受到SQL注入的攻击。相反,使用prepared statement来对抗这种特殊情况。

$stmt = $mysqli->prepare('INSERT INTO info(username, password, first_name, last_name, location, email, pwv) VALUES(?,?,?,?,?,?,?)');
$stmt->bind_param('sssssss',
    $_POST['username'],
    $_POST['password'],
    $_POST['firstname'],
    $_POST['lastname'],
    $_POST['location'],
    $_POST['email'],
    $_POST['pwv']);
$stmt->execute();
$stmt->store_result();
if( count( $stmt->num_rows ) > 0 ) {
    //this is success
}

$_POST设置为变量:

$username = $_POST['username'];
$password = $_POST['password'];
$last_name = $_POST['last_name'];
$location = $_POST['location'];
$email = $_POST['email'];
$pwd = $_POST['pwv'];
$sql = "INSERT INTO info(username, password, first_name, last_name, location, email, pwv)
VALUES('$username','$password','$first_name','$last_name','$location','$email','$pwv');
<?php 
    $servername = "localhost"; 
    $username = "username";
    $password = "password";
    $dbname = "database";
    $conn = mysql_connect($servername,$username,$password)or die(mysql_error());
    mysql_select_db($dbname,$conn);
    $sql = mysql_query("INSERT INTO `info` (`username`,`password`,`first_name`,`last_name`,`location`,`email`,`pwv`)
            VALUES('".$_POST['username']."','".$_POST['password']."','".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['location']."','".$_POST['email']."','".$_POST['pwv']."')")or die(mysql_error());
?>