Database Query failed error when creating page : I am getting a "Database query failed" error while trying to insert a new row into a table. This table (pages) has a column (subject_id) referencing another table (subjects). I am passing the value of the of the subject_id from the url and it is passed on the form correctly, all the values seem to be passed correctly on the form using php, but i get error while i try to insert the row. The form submits to itself.

select_all_pages_by_subject($sid) is a function that selects all rows (pages) from the current subject (passed from the url). It works fine for the position field.

> I suspect this error is probably a MySQL syntax error somewhere in my
> code, but i just cant seem to figure it out yet. I appreciate some
> help. Thank you.

here is my code:

    <div class="body_content">
    
    <?php
    	$sid = null;
    if(isset($_GET["subject"])) {
    	$sid = $_GET["subject"];
    }
    
    ?>
    
    <form action="create_page.php" method="post">
    
    Menu Name:	<input type="text" name="menu" /> <br>
    Position:	<select name="position">
    				<?php 
    				$new_page_query = select_all_pages_by_subject($sid);
    				$page_count = mysqli_num_rows($new_page_query);
    				for($count=1; $count<=($page_count + 1); $count++) {
    							echo "<option value=\"$count\">$count</option>";
    				}
    				?>
    			</select> <br>
    Visible:<br>	
    No <input type="radio" name="visible" value="0" />
    Yes <input type="radio" name="visible" value="1" /> <br>
    Subject ID: <input type="text" name="subject_id" value="<?php echo $sid; ?>" /> <br>
    Content: <br> 
    <textarea rows="5" cols="40" name="content"></textarea> <br>
    <input type="submit" value="Create Page" name="submit" /> <br>
    <a href="admin.php">Cancel</a> <br>
    
    </form>
    
    <?php
    		if(isset($_POST['submit'])) {
    			
    		$menu_name = $_POST["menu"];
    		$position = (int) $_POST["position"];
    		$visible = (int) $_POST["visible"];
    		$content = $_POST["content"];
    		$subject_id = (int) $_POST["$sid"];
    		$insert_query = "INSERT INTO pages (subject_id, menu_name, position, visible, content) VALUES ({$subject_id},'{$menu_name}', {$position}, {$visible}, '{content}') WHERE subject_id = $sid";
    		$page_insert = mysqli_query($connection, $insert_query);
    		
    		if($page_insert) {
    			$_SESSION["message"] = "Page created successfully";
    			redirect_to("admin.php");
    		} else {
    		$_SESSION["message"] = "Page creation failed";
    		redirect_to("create_page.php?subject=$sid");
    	}
    		
    			
    }
    ?>
    
    </div>