gpt4 book ai didi

php - 表单没有以正确的方式写入数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:47 25 4
gpt4 key购买 nike

嘿嘿,

我正忙着处理一个必须将其值插入数据库 (mysql) 的表单。该表单必须写入两个名为地址和人员的表。人员信息需要写入人员,其地址必须写入地址表。然而,当我按下提交时,它会说一切都成功了,但它不会只在地址中存储个人信息。

在数据库中,person_address 在稍后的状态下链接到 address_id,我将创建一个详细信息表单,“管理员”可以在其中选择城市或州,它将显示城市和州中的所有人。

picture 1 picture 2 picture 3

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO person (person_firstname, person_lastname, person_email, person_phonenumber, person_cv)
VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[telephone]','$_POST[email]','$_POST[cv]')";

$sql = "INSERT INTO address (address_street, address_housenumber, address_zipcode, address_city, address_state)
VALUES
('$_POST[straat]','$_POST[huisnummer]','$_POST[postcode]','$_POST[stad]','$_POST[provincie]')";

if ($conn->query($sql) === TRUE) {
$URL="http://localhost:8080/Website/bedankt.php";

header ("Location: $URL");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

最佳答案

正如 Fred -ii- 已经说过的,您通过将第二个查询写入同一个变量来覆盖第一个查询。要解决该问题,您应该使用两个查询。

$sql1 = "...";

$sql2 = "...";

if($conn->query($sql1) === TRUE && $conn->query($sql2) === TRUE) {
...
}

此外,由于您没有对 $_POST 参数进行转义,因此可能存在 SQL 注入(inject)。这允许其他人在您的服务器上执行恶意 SQL。你应该看看mysqli::preparemysqli::real_escape_string .

关于php - 表单没有以正确的方式写入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com