php 中的 execute() 函数做了什么排他性



我有一个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。

最新更新