将数组输入插入MySQL

时间:2017-05-02 05:32:37

标签: php mysql arrays pdo

我有一个带有两个HTML输入字段的表单,其中标记输入是一个自动完成表单(来自数据库):

代码

  • TAGID
  • 的tagName

我希望将数组插入两个表documentdocumenttag

表1:文件

  • docId
  • docName

表2:文档标签

  • docId
  • tagId

但我没有设法将数据插入数据库。以下是我的代码:

文档form.php的

    <?php

      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

      $stmt = $conn->prepare("SELECT tag_name FROM tags");
      $stmt->execute();

      $json = array();  
      while($row = $stmt->fetch()){
        $json[] = $row['tag_name'];
      }
      $json_array = json_encode($json);

      ?>
      <script>
        $(function(){
          var sampleTags = <?php echo $json_array; ?>

                $('#tags_1').tagit({
                  availableTags: sampleTags,
                });            
              });
            </script>

    <input type="file" id="file" name="file" required="required">
    <input id="tags_1" name="tags_1[]" type="text" class="tags form-control">

文档上载action.php的

<?php
    $name = $_FILES['file']['name'];
            $type = $_FILES['file']['type'];
            $size = $_FILES['file']['size'];
            $filesize = round($size / 1024, 2);

            $insert_doc = "INSERT INTO document(docId,docName) VALUES ('$docid','$name')";

            $stmt = $conn->prepare($insert_doc);
            $stmt = bindParam(':privacy', $privacy, PDO::PARAM_STR);
            $privacy = $_POST['privacy'];
            $stmt->execute();

            $tags_1 = implode(",", $tags_1);
            $insert_doc_detail = "INSERT INTO documenttag(docId, tagId) VALUES('$docid','$tags_1')";
            $stmt_1->$conn->prepare($insert_doc_detail);
            $stmt_1->bindParam(':tags_1', $tags_1, PDO::PARAM_STR);
            $tags_1[] = $_POST['tags_1'];
            $stmt_1->execute();
?>

0 个答案:

没有答案