我目前有以下代码。我尝试做的是从链接中获取oppdrID=x
并将查询放入具有相同oppdrID
的行中。我不能让它工作,因为有些东西不起作用。我在这里错了什么?
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stilsett.php" />
<meta charset="utf-8">
<title>Endre oppdrag // Prosjekt - PHP</title>
</head>
<body>
<?php
include "funksjoner.inc.php";
session_start();
if(!empty($_SESSION['brukernavn'])) {
echo "<div id='header'>";
echo navigasjon();
echo "</div>";
echo "<div id='innhold'>";
$startTid = mysqli_real_escape_string(kobleTil(), htmlspecialchars($_POST['startTid']));
$slutTid = mysqli_real_escape_string(kobleTil(), htmlspecialchars($_POST['slutTid']));
$merknad = mysqli_real_escape_string(kobleTil(), htmlspecialchars($_POST['merknad']));
$antTimer = mysqli_real_escape_string(kobleTil(), htmlspecialchars($_POST['antTimer']));
if ($startTid == '' || $slutTid == '' || $merknad == '' || $antTimer == '') {
$error = "Vennligst fyll inn alle dataene!";
}
$db = kobleTil();
if (isset($_GET['oppdrID']) && is_numeric($_GET['oppdrID']) && $_GET['oppdrID'] > 0) {
$id = $_GET['oppdrID'];
$sql = "INSERT INTO timeregistrering WHERE oppdrID = ? (startTid, sluttTid, merknad, timer) values ('$startTid', '$slutTid', '$merknad', '$antTimer');
";
if ($stmt->prepare($sql)) {
$stmt->bind_param("i", $id, $startTid, $slutTid, $merknad, $antTimer);
$stmt->execute();
if ($db->query($sql)) {
echo "<p><b>Tabellen ble opprettet!</b></p>";
echo "<b>Spørringen som ble kjørt:</b><pre>$sql</pre>";
} else {
echo "<p>Noe gikk galt :(</p>" . $error;
}
}
}
}
echo "</div>";
?>
</body>
</html>
答案 0 :(得分:0)
我认为你准备好的陈述是错误的,试试这个:
$sql = "INSERT INTO timeregistrering(startTid, sluttTid, merknad, timer) values (?, ?, ?, ?)";
$stmt->bind_param($startTid, $slutTid, $merknad, $antTimer);
我删除了where子句,因为您无法在where
上使用insert
,除非它是where not exists