PHP中的多个插入查询 [英] Multiple Insert Queries in PHP

查看:52
本文介绍了PHP中的多个插入查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个php/html表单,它将结果插入到狗秀数据库中.无论我怎么做,都会出现此错误:

I am trying to create a php/html form which will insert results into a dog show database. The problem no matter what I do I get this error:

查询失败.您的SQL语法有误.请查看与您的MySQL服务器版本相对应的手册,以在'INSERT INTO'附近使用正确的语法.

QUERY FAILED .You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO.

以下是任何帮助页面的代码.

Here is the code for the page any help appreciated.

<?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>

推荐答案

mysqli_query 仅执行一个查询.

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

For executing multiple queries at once, you can use mysqli_multi_query.

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

Simply replace your mysqli_query with the mysqli_multi_query like so:

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

这篇关于PHP中的多个插入查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆