我希望在我的sql中通过GET插入数据,但我无法插入数据
<?php
include("config.php");
$f=$_GET["first_name"];
$l=$_GET["last_name"];
$e=$_GET["email"];
$m=$_GET["mobile"];
$b=$_GET["birthday"];
$g=$_GET["gender"];
$insert="INSERT INTO user ( `first_name`, `last_name`, `email`, `mobile`, `birthday`, `gender`)
VALUES ('$f', '$l', '$e', '$m', '$b', '$g')";
mysqli_query($insert);
?>
我尝试通过此链接插入数据:
答案 0 :(得分:1)
自从我使用mysqli以来,很长一段时间,下面的代码很可能会运行。正如其他人所提到的那样,永远不要绑定未经过数据处理的数据(即使你认为你信任数据,它仍然可以安全地使用准备好的语句)。
<?php
//Create you db connection
$conn = new mysqli('server', 'user', 'password', 'databasename');
//Create insert statement. Never concat un-sanitized data in statements
$insert="INSERT INTO user ( `first_name`, `last_name`, `email`, `mobile`, `birthday`, `gender`)
VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
//Values corespond to ? except the first param which represents format of expected data. "s" stands for string
$stmt->bind_param(
'ssssss',
$_GET["first_name"],
$_GET["last_name"],
$_GET["email"],
$_GET["mobile"],
$_GET["birthday"],
$_GET["gender"]
);
$stmt->execute();
确保你是否将上面的url放在某种类型的表单中,你正确地对url编码值(我注意到你收集的很多值都需要斜杠等)。