The backslashes escape the quotes, it is much cleaner to just use single quotes. Here is the same query:
$insertQuery = "INSERT INTO region
VALUES
(NULL, '$regionName', '$description', NULL)";
That query requires a field for every value, your code is better in the long run to address the fileds explicitly so you don't get burnt if you add a column later:
$insertQuery = "INSERT INTO region
(id,name,desc,extra)
VALUES
(NULL, '$regionName', '$description', NULL)";
(I am, of course, taking wild guesses as to what your actual column names might be)
The automatic sequencing of the id column is set up when you build your table and assign 'auto_increment' to the row
(adding) If you have auto_increment and address the fields explicitly, you do not need to do anything to get it to increment. You can just ignore that column and let MySql take care of it. Null values are generally discouraged unless you need them for some reason, a table will run more efficieantly if you asign NOT NULL default='' to each column when you create your table.