【发布时间】:2018-05-05 10:33:09
【问题描述】:
我正在为插入 mysql 数据库的表单而苦苦挣扎。填写表格后,我收到以下错误消息
bad query: INSERT INTO gjenstand(idselger,bilde,beskrivelse,idkategori,minstepris,utlopsdato) VALUES (1,23.jpeg,TVbord,,950,2018-06-23)
没有插入的信息有如下代码:
$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>
提前非常感谢您抽出时间帮助我
【问题讨论】:
-
如果您将值作为参数传入,则无需转义。
-
您不能将两个查询传递给
$tilkobling->query()。 -
根据您帖子顶部的错误查询行,看起来表单上的至少一个值没有完成,因为您根本没有检查它是否生成的 SQL 查询是否无效(请注意值部分中的 2 个逗号)。
-
什么是
$tilkbling,不应该是$conn吗? -
我必须将 $tilkobling 和 $conn 都作为定义的变量