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

Php 我想将项目插入数据库,但它似乎无法插入,这是我的代码,有人知道原因吗?,php,mysql,Php,Mysql,我想将项目插入数据库,但它似乎无法插入,这是我的代码,有人知道原因吗 提交后,我检查我的表“信息”,它也没有任何变化 在$\u POST变量上,您没有将包裹在密钥访问器周围,您可以将这些变量直接传递给查询函数(您不应该……参见下文)。然而,我将向您展示如何更好地保护自己不受SQL注入的影响,而不是向您展示如何纠正这一点 目前,您非常容易受到SQL注入的攻击,只需允许用户将数据直接发布到数据库中即可。相反,使用准备好的语句来对付这种特殊情况 $stmt = $mysqli->prepare

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

提交后,我检查我的表“信息”,它也没有任何变化


$\u POST
变量上,您没有将
包裹在密钥访问器周围,您可以将这些变量直接传递给查询函数(您不应该……参见下文)。然而,我将向您展示如何更好地保护自己不受SQL注入的影响,而不是向您展示如何纠正这一点

目前,您非常容易受到SQL注入的攻击,只需允许用户将数据直接发布到数据库中即可。相反,使用
准备好的语句来对付这种特殊情况

$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
}

$\u 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');

您的问题包含一个“的图像”。不要偷懒。发布您的代码和与此相关的HTML表单。让我比现在更疯狂。没有“代码”,没有“原因”。对不起,这是我第一次使用stackoverflow,我想我已经上传了带有问题的图像。你有什么错误?同时发布一个页面截图,其中输出了
var\u dump($\u post)
,这样我们就可以看到我的钱在上面的输入数据
<?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());
?>