我有一个html网站,里面有一个公式器,对php脚本有一个操作。我想做的是将公式中的数据写入本地主机上的 mySQL 数据库中。
我知道数据库是可访问的,并且数据已正确提供给 php 脚本(我正在使用 MAMP 服务器处理数据库和文件(。据我所知,准备声明是正确的。执行语句中的"id"是自动递增,因此我将其设置为 NULL。
$link是来自db_connection.php的数据库访问
<?php
include("db_connection.php");
?>
<html>
<header>
<meta charset="utf-8">
<title>Stackoverflow Code</title>
</header>
<body>
<?php
$name = $_POST['name'];
$timeUnits = $_POST['timeUnits'];
$description = $_POST['description'];
$eintrag = $link->prepare("INSERT INTO `projekt`(`id`,`time-units`, `beschreibung`, `name`) VALUES (?,?,?,?)");
echo "It's working fine till this line";
$eintrag->execute([NULL, $timeUnits, $description, $name]);
?>
</body>
</html>
我希望它会在数据库中写入数据,但我得到的是一个内部服务器错误(错误 500(,该错误立即从浏览器控制台和空白网站上消失。
您可以查看 Web 服务器上的错误日志以查看 mysql 错误或将 execute 放在 try catch 块中以捕获异常。
错误可能是因为说id = null,因为你不能有一个空的主键您需要一起省略ID,它将自动递增。
$eintrag = $link->prepare("INSERT INTO `projekt`(`time-units`, `beschreibung`, `name`) VALUES (?,?,?)");
$eintrag->execute([$timeUnits, $description, $name]);
执行接受查询,输入"?"所在的参数,然后运行它。将链接到文档,但没有数据库连接文件,我不知道您使用的是 mysqli 还是 pdo。