2016-10-26 2 views
0

私はdog showデータベースに結果を挿入するphp/htmlフォームを作成しようとしています。私が何をするにしてもこの問題は起こります:PHPの複数の挿入クエリ

クエリーが失敗しました。あなたはあなたのSQL構文に誤りがあります。 INSERT INTOの近くで使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを確認してください。

ここでは、ヘルプが評価されたページのコードを示します。

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

+0

使用mysqli_multi_query():

単にあなたのそのようなmysqli_multi_querymysqli_queryを交換してください。正確なエラーを確認するにはmysqli_error()を使用してください。このエラーメッセージも共有してください –

+0

'' $ show_status '); ";'なぜこの2つのセミコロン? – Karthi

+0

2つのセミコロンはマルチクエリで動作します:http://www.w3schools.com/php/ php_mysql_insert_multiple.asp –

答えて

2

mysqli_queryだけ1つのクエリを実行します。

複数のクエリを一度に実行する場合は、mysqli_multi_queryを使用できます。複数のクエリを実行するため

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

どのように私は私の答えを改正? –

+0

上記のコードにそのフィット感だろう。 – dhh

+0

うん感謝しました –

関連する問題