Php 使用变量插入SQL数据库时出现错误500

Php 使用变量插入SQL数据库时出现错误500,php,sql,Php,Sql,我得到了这个代码,它给了我一个错误500。 我可能有点不对劲,但我真的需要一些帮助 这是我的密码 <?php include('index.php'); ?> <?php include('config.php'); ?> <?php $fornavn = $_POST['fornavn']; $efternavn = $_POST['efternavn']; $postnummer = $_POST['postnummer']; $alder = $_POST['

我得到了这个代码,它给了我一个错误500。 我可能有点不对劲,但我真的需要一些帮助

这是我的密码

<?php include('index.php'); ?>
<?php include('config.php'); ?>
<?php
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$postnummer = $_POST['postnummer'];
$alder = $_POST['alder'];

$sql = INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)
VALUES ('$fornavn', '$efternavn', '$postnummer', '$alder');

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

POST标记在index.php中是相同的,依此类推。 请帮忙。
提前谢谢

您需要首先将查询放入字符串
“”

<?php include('index.php'); ?>
<?php include('config.php'); ?>
<?php
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$postnummer = $_POST['postnummer'];
$alder = $_POST['alder'];

$sql = "INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)
VALUES ('$fornavn', '$efternavn', '$postnummer', '$alder');";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

要首先查看任何其他可能的错误,因为这可能有助于在开始时找到问题类型,请执行以下操作:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
就我个人而言,我一直在SQL查询中使用“”,我看到您还没有这样做,也许您也应该添加它们,以便:

$sql = "INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)VALUES 
('$fornavn', '$efternavn', '$postnummer', '$alder')";

另外,我假设$conn是在config.php中定义的?

如注释中所述,首先确保启用了错误报告
错误报告(E\u ALL)
ini\u集('display\u errors',1)

还要看看这个SQL查询字符串,它没有用引号括起来

$sql = INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)
VALUES ('$fornavn', '$efternavn', '$postnummer', '$alder');
应该是

$sql = "INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)
VALUES ('$fornavn', '$efternavn', '$postnummer', '$alder')";

尝试
错误报告(E\u ALL)
ini\u set('display\u errors',1)
您将获得错误。请添加更多信息。“500内部服务器错误”(或空白页)表示您的脚本正在抛出错误,但PHP配置为对您隐藏错误。您需要尽快修复它,因为不借助错误消息进行编码是很困难的。作为快速启动,您可以在计算机的系统范围
php.ini
文件()中设置
error\u reporting
display\u errors
指令。错误拇指规则:在开发中显示,在生产中登录。您的代码容易受到SQL注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者使用恶意输入值破坏您的数据库。给出了风险的解释,以及如何使用PHP/mysqli安全地编写查询的一些示例。但明显的错误是SQL字符串没有双引号。PHP试图将其解析为PHP,但事实并非如此,并抛出一个错误,如果打开错误报告,甚至更好的是,在应用程序中添加错误日志功能,您就会看到这个错误。
$sql = "INSERT INTO medlemmer (fornavn, efternavn, postnummer, alder)
VALUES ('$fornavn', '$efternavn', '$postnummer', '$alder')";