Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 试图使用id from link和prepared语句插入数据库_Php_Html_Sql_Prepared Statement - Fatal编程技术网

Php 试图使用id from link和prepared语句插入数据库

Php 试图使用id from link和prepared语句插入数据库,php,html,sql,prepared-statement,Php,Html,Sql,Prepared Statement,我目前有以下代码。我试图做的是从链接中获取oppdrID=x,并将查询放入具有相同oppdrID的行中。我不能让它工作,因为有些东西不工作。我怎么了 <!doctype html> <html> <head> <link rel="stylesheet" type="text/css" href="stilsett.php" /> <meta charset="utf-8"> <title>Endre oppdrag //

我目前有以下代码。我试图做的是从链接中获取
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>

Endre//Prosjekt-PHP

我认为你准备的陈述是错误的,试着这样做:

$sql=“插入timeRegistering(startTid、sluttTid、merknad、timer)值(?,,,?)”

$stmt->bind_参数($startTid、$slattid、$merknad、$antTimer)


我删除了where子句,因为您不能在
插入中使用
where
,除非它是
不存在的

我认为您准备的语句是错误的,请尝试以下操作:

$sql=“插入timeRegistering(startTid、sluttTid、merknad、timer)值(?,,,?)”

$stmt->bind_参数($startTid、$slattid、$merknad、$antTimer)


我删除了where子句,因为您不能在
insert
上使用
where
,除非它是
where不存在的

如果您使用的是HTML5(XHTML5)的XML序列化,那么DOCTYPE应该像这样大写:
(有关更多信息,请参阅答案)-我只是觉得应该注意涵盖所有基础。哦。。感谢headup@idemponences如果您使用的是HTML5(XHTML5)的XML序列化,那么DOCTYPE应该大写如下:
(有关更多信息,请参阅SO答案)-只是认为应该注意它涵盖了所有基础。哦。。感谢headsup@幂等将值更改为?s,但仍然没有发生太多的情况。您是否有任何错误?或者有任何数据被插入到TimeRegistering表中吗?我想你也可以删除这个if语句:
if($db->query($sql)){
。你在里面执行sql:
$stmt->execute();
试着在
execute()
之后添加这一行:
printf(“错误:%s.\n”,$stmt->Error);
忘记了在值之后,现在我得到了错误(!)解析错误:语法错误,意外的'i'(T_字符串)在第44行的C:\wamp64\www\prosjekt\kjoerx.php中,将值更改为?s,但仍然没有发生太多事情。您是否收到任何错误?或者是否有任何数据插入到时间注册表表中?我认为您还可以删除此if语句:
if($db->query($sql)){
。您正在执行内部SQL:
$stmt->execute();
尝试在
execute()
之后添加此行:
printf(“错误:%s.\n”,$stmt->Error);
忘记了值后面的“错误”,现在我得到了错误(!)解析错误:语法错误,在C:\wamp64\www\prosjekt\kjoerx.php的第44行出现意外的“i”(T字符串)