我正在努力将表单插入到mysql数据库中。填写表格后,我收到以下错误消息
$conn=mysqli_connect ("localhost","root","root", "bruktbutikk");
$sql1="select beskrivelse from kategori";
$datasett1 = $conn->query($sql1);
if(isset($_POST["submit"]))
{
$sql =sprintf("INSERT INTO gjenstand(idselger,bilde,beskrivelse,idkategori,minstepris,utlopsdato) VALUES (%s,%s,%s,%s,%s,%s)",
$tilkobling->real_escape_string($_POST["lstnavn"]),
$tilkobling->real_escape_string($_POST["txtbilde"]),
$tilkobling->real_escape_string($_POST["txtbeskrivelse"]),
$tilkobling->real_escape_string($_POST["lstkategori"]),
$tilkobling->real_escape_string($_POST["txtminste_pris"]),
$tilkobling->real_escape_string($_POST["txtutlopsdato"])
);
$tilkobling->query($sql,$sql1) or die ("bad query:$sql");
未插入的信息具有以下代码:
<form method="post">
<div>
<label for="lstkategori">Kategori:</label>
<select name="lstkategori" id="lstkategori">
<?php while($rad=mysqli_fetch_array($datasett1)) { ?>
<option value="<?php echo $rad["idkategori"]; ?>"> <?php echo $rad["beskrivelse"]; ?>
</option>}
<br><br><br>
<?php } ?> <br><br>
</select>
以下是缺少值的表单的代码:
E
非常感谢你提前做好准备,抽出时间帮助我<33
答案 0 :(得分:0)
您需要在包含字符串的值周围加上引号。
$sql =sprintf("INSERT INTO gjenstand(idselger,bilde,beskrivelse,idkategori,minstepris,utlopsdato) VALUES (%s,'%s','%s','%s',%s,'%s')",
但最好使用参数化查询:
$sql = "INSERT INTO gjenstand(idselger,bilde,beskrivelse,idkategori,minstepris,utlopsdato) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("isssis", $_POST["lstnavn"], $_POST["txtbilde"], $_POST["txtbeskrivelse"], $_POST["lstkategori"], $_POST["txtminste_pris"], $_POST["txtutlopsdato"]);
$stmt->execute();