I want to send the data inputted into an html form to my sql database, i.e., create a new row attributing certain values to certain columns. I know there are similar questions, I read the answers but nothing seems to work.
send_post.php
<?php
//Connecting to sql db.
$connect = mysqli_connect("my host","my user","my passwrod","my db");
//Sending form data to sql db.
mysqli_query($connect,"INSERT INTO posts (category, title, contents, tags)
VALUES ('$_POST[post_category]', '$_POST[post_title]', '$_POST[post_contents]', '$_POST[post_tags]')";
?>
post.html#form
<form onSubmit="send_post.php" method="post">
<h3>Category:</h3>
<input type="text" name="post_category">
<h3>Post title:</h3>
<input type="text" name="post_title">
<h3>Post tags (a,b,c...):</h3>
<input type="text" name="post_tags">
<h3>Post (use html):</h3>
<textarea rows="20" cols="50" name="post_contents"></textarea>
<input type="submit">
</form>
my db "posts" table colums:
pid
title
contents
tags
category
pid
has auto_increment
on
I have already tried sending values to all colunes, including pid
, and in the "right" order.
The mysqli_connect
part isn't the issue since I copied it from a different .php file of mine that works.
Server php-sql compatibility isn't the issue either, since I successfully had a different .php file retrieve data from the db (data which was manually inserted).