PHP中的多个插入查询

时间:2016-10-26 12:07:04

标签: php forms

我正在尝试创建一个php / html表单,它将结果插入狗展数据库。这个问题无论我做什么我都会收到这个错误:

QUERY FAILED。您的SQL语法出错了;查看与您的MySQL服务器版本对应的手册,以便在' INSERT INTO附近使用正确的语法。

以下是页面的任何帮助表示的代码。



<?php
   
   if(isset($_POST['create_show'])) {
            //Insert Judges
            $show_title        = escape($_POST['show_title']);
            $show_user         = escape($_POST['show_user']);
            $show_category_id  = escape($_POST['show_category_id']);
            $show_status       = escape($_POST['show_status']);
           // $show_image        = escape($_FILES['show_image']['name']);
            //$show_image_temp   = escape($_FILES['image']['tmp_name']);
            $show_tags         = escape($_POST['show_tags']);
            $show_content      = escape($_POST['show_content']);
            //$show_date         = escape(date('d-m-y'));
            //INSERT Judges
            $judge_affix         = escape($_POST['judge_affix']);
            $judge_name         = escape($_POST['judge_name']);
            $judge_show         = escape($_POST['show_idj']);
            //Insert Dogs
            $dog_name         = escape($_POST['dog_name']);
            $resultIDD         = escape($_POST['resultIDD']);
            //Insert Into Results
            $class_name         = escape($_POST['class_name']);
            $placement         = escape($_POST['placement']);
            $award         = escape($_POST['award']);
       
        //move_uploaded_file($show_image_temp, "../images/$show_image" );
       
//Insert Shows 
$query = "INSERT INTO shows (show_category_id, show_title, show_user, show_content, show_tags, show_status) VALUES ('$show_category_id','$show_title','$show_user','$show_content','$show_tags','$show_status');";
$query .= "INSERT INTO judges (judge_affix, judge_name) VALUES ('$judge_affix','$judge_name');";
$query .= "INSERT INTO dogs (dog_name, resultIDD) VALUES ('$dog_name','$resultIDD');";  
$query .= "INSERT INTO result(class_name, placement,) VALUES ('$class_name','$placement')";  
        
      $create_show_query = mysqli_query($connection, $query);  
          
      confirmQuery($create_show_query);

      $the_show_id = mysqli_insert_id($connection);


      echo "<p class='bg-success'>Show Created. <a href='../show.php?s_id={$the_show_id}'>View Post </a> or <a href='shows.php'>Edit More Shows</a></p>";

   }

?>

    <form action="" method="post" enctype="multipart/form-data">


        <div class="form-group">
            <label for="show_title">Show Title</label>
            <input type="text" class="form-control" name="show_title">
        </div>

        <div class="form-group">
            <label for="category">Category</label>
            <select name="show_category" id="">
           
<?php

        $query = "SELECT * FROM categories";
        $select_categories = mysqli_query($connection,$query);
        
        confirmQuery($select_categories);


        while($row = mysqli_fetch_assoc($select_categories )) {
        $cat_id = $row['cat_id'];
        $cat_title = $row['cat_title'];
            
            
            echo "<option value='$cat_id'>{$cat_title}</option>";
  
        }
?>
 
       </select>

        </div>


        <div class="form-group">
            <label for="users">Users</label>
            <select name="post_user" id="">
           
<?php

        $users_query = "SELECT * FROM users";
        $select_users = mysqli_query($connection,$users_query);
        
        confirmQuery($select_users);


        while($row = mysqli_fetch_assoc($select_users)) {
        $user_id = $row['user_id'];
        $username = $row['username'];
            
            
            echo "<option value='{$username}'>{$username}</option>";
 
        }

?>

       </select>

        </div>

        <!-- <div class="form-group">
         <label for="title">Post Author</label>
          <input type="text" class="form-control" name="author">
      </div> -->

        <div class="form-group">
            <select name="show_status" id="">
             <option value="draft">Show Status</option>
             <option value="published">Published</option>
             <option value="draft">Draft</option>
         </select>
        </div>

        <div class="form-group">
            <label for="show_tags">Show Tags</label>
            <input type="text" class="form-control" name="show_tags">
        </div>

        <div class="form-group">
            <label for="judge_name">Show Tags</label>
            <input type="text" class="form-control" name="judge_name">
        </div>

        <div class="form-group">
            <label for="judge_affix">Show Tags</label>
            <input type="text" class="form-control" name="judge_affix">
        </div>

        <div class="form-group">
            <label for="show_content">Show Content</label>
            <textarea class="form-control " name="show_content" id="" cols="30" rows="5">
         </textarea>
        </div>

        <div class="form-group">
            <p>Minor Puppy Dog</p>
        </div>

        <div class="form-group">
            <label for="dog_name">1st Dog Name</label>
            <input type="text" class="form-control" name="dog_name">
        </div>

        <div class="form-group">
            <input type="hidden" class="form-control" name="placement" value="1">
        </div>


        <div class="form-group">
            <input class="btn btn-primary" type="submit" name="create_show" value="Publish Show">
        </div>


    </form>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

mysqli_query只执行一个查询。

要一次执行多个查询,您可以使用mysqli_multi_query

只需将您的mysqli_query替换为mysqli_multi_query,就像这样:

$create_show_query = mysqli_multi_query($connection, $query);