php表单没有插入到sql数据库中

时间:2018-04-29 15:02:38

标签: php html sql mysqli

我试图进入php和mysql,我创建了这个表单,用于将数据插入到我的数据库中,但是在填写表单时,没有数据插入到sql数据库中。将信息插入到具有多个外键的表中。在调试sql时,我收到错误消息:错误查询:INSERT INTO bud('beløp,idkjoper,idgjenstand')VALUES('7500','3','1')这些是正确的值。

我怀疑问题是我试图找到一个包含买家名称的列表,然后将出价登记为买家ID。我试图绕过必须记住buyerID来进行出价,而是将买方名称显示在列表中,并在选择买方名称后,将买方ID插入数据库。

如果您可以花一天时间看看,我会非常感激:) 这是sql段。

<?php
$tilkobling=mysqli_connect ("localhost","root","root", "bruktbutikk");
$sql="select navn,etternavn from kjøper";
$datasett = $tilkobling->query($sql);


  $conn=mysqli_connect ("localhost","root","root", "bruktbutikk");
  $sql1="select beskrivelse,idgjenstand from gjenstand";
  $datasett1=$conn->query($sql1);

   if(isset($_POST["submit"]))
  {
   $sql =sprintf("INSERT INTO bud(beløp,idkjoper,idgjenstand) VALUES 
   (%s,%s,%s)",

             $tilkobling->real_escape_string($_POST["lstnavn"]),
             $tilkobling->real_escape_string($_POST["lstbeskrivelse"]),
             $tilkobling->real_escape_string($_POST["txtbeløp"])


     );

     $tilkobling->query($sql);

header("Location: budok.php");
  }

   ?>

这是我的表格:

     <main>
        <h1> Gi bud</h1>
<br/>

<form method="post">

    <label for="lstnavn">Budgiver:</label>
    <select name="lstnavn" id="lstnavn">
     <?php while($rad=mysqli_fetch_array($datasett)) { ?>
     <option value="<?php echo $rad["idkjoper"]; ?>"> 
      <?php echo $rad["navn"], ($rad['etternavn']); ?>
         </option>}
        <br><br>
     <?php } ?> <br><br>
     </select>

    <br>

    <form method="post">
    <div>
    <label for="lstbeskrivelse">gjenstand:</label>
    <select name="lstbeskrivelse" id="lstbeskrivelse">
     <?php while($rad=mysqli_fetch_array($datasett1)) { ?>
         <option value="<?php echo $rad["idgjenstand"]; ?>"> <?php echo 
      $rad["beskrivelse"]; ?>
         </option>}
        <br><br>
     <?php } ?> <br><br>
     </select>

    <br>

     <label for="txtbeløp">beløp:</label>
    <input type="text" name="txtbeløp" id="txtbeløp" 
      placeholder="beløp" /> <br/><br>





    <br/>
    <button type="submit" name="submit">Publiser</button>
    </form>


   </main>

1 个答案:

答案 0 :(得分:0)

您的错误:

  1. 您的查询包含3个列名,您的值 - 第4部分%s
  2. real_escape_string()没有为字符串添加引号,使用".. VALUES('%s', '%s', '%s')"或查看预备语句
  3. 如何调试:

    $tilkobling->query()在失败时返回false,在这种情况下使用var_dump($tilkobling->error)显示错误消息,当然还有var_dump($sql)以查看真正发送给MySQL的内容。< / p>