php 中的 execute() 函数到底做了什么?
What exaclty does the execute() function in php do?
我有一个 html 网站,其中包含对 php 脚本执行操作的公式。
我想要做的是将公式中的数据写入本地主机上的 mySQL 数据库中。
我知道数据库是可访问的,并且数据已正确提供给 php 脚本(我正在使用 MAMP 服务器存储数据库和文件)。
据我所知,准备语句是正确的。
execute语句中的'id'是自增的,所以我设置为NULL。
$link 是来自 db_connection.php
的数据库访问
<?php
include("db_connection.php");
?>
<html>
<header>
<meta charset="utf-8">
<title>Whosebug 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),该错误立即从浏览器控制台和一个空白网站中消失。
您可以查看网络服务器上的错误日志以查看 mysql 错误或将执行放在 try catch 块中以捕获异常。
错误可能是因为说 id = null 因为你不能有一个 null 主键
你需要把 id 一起省略,它会自动递增。
$eintrag = $link->prepare("INSERT INTO `projekt`(`time-units`, `beschreibung`, `name`) VALUES (?,?,?)");
$eintrag->execute([$timeUnits, $description, $name]);
Execute 执行查询,将参数放入“?”是然后运行它。会 link 到文档但没有数据库连接文件 我不知道你使用的是 mysqli 还是 pdo。
我有一个 html 网站,其中包含对 php 脚本执行操作的公式。 我想要做的是将公式中的数据写入本地主机上的 mySQL 数据库中。
我知道数据库是可访问的,并且数据已正确提供给 php 脚本(我正在使用 MAMP 服务器存储数据库和文件)。 据我所知,准备语句是正确的。 execute语句中的'id'是自增的,所以我设置为NULL。
$link 是来自 db_connection.php
的数据库访问<?php
include("db_connection.php");
?>
<html>
<header>
<meta charset="utf-8">
<title>Whosebug 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),该错误立即从浏览器控制台和一个空白网站中消失。
您可以查看网络服务器上的错误日志以查看 mysql 错误或将执行放在 try catch 块中以捕获异常。
错误可能是因为说 id = null 因为你不能有一个 null 主键 你需要把 id 一起省略,它会自动递增。
$eintrag = $link->prepare("INSERT INTO `projekt`(`time-units`, `beschreibung`, `name`) VALUES (?,?,?)");
$eintrag->execute([$timeUnits, $description, $name]);
Execute 执行查询,将参数放入“?”是然后运行它。会 link 到文档但没有数据库连接文件 我不知道你使用的是 mysqli 还是 pdo。