更新时间:2023-10-08 09:17:22
Besides the other answer,
Firstly, this part of your query:
INSERT INTO test-table (id, name, lastname, radio, drop, check)
should read as
INSERT INTO `test-table` (id, name, lastname, radio, `drop`, `check`)
MySQL is interpreting your table as "test minus table". Use ticks, or rename it using an underscore test_table
which is a safe seperator.
Then you're using two MySQL reserved words, "drop" and "check". Use ticks for those also.
Reference:
See how MySQL is telling you where the syntax error begins?
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 'drop, check)
and it would have shown you another one after that being
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 'check)
Just to clarify, you are mixing MySQL APIs with
mysql_query("INSERT ...
which those mysql_
functions do not intermix with your present method. Use the same from connection to query
mysqli_query($connect, "INSERT ...
and of course the fact that you're open to SQL injection. Use a prepared statement:
You should also check for empty fields against your POST arrays such as !empty()
.
Sidenote: If an apostrophe or any other character is to be inserted that MySQL will complain about, then you must escape them. Either way, you should.
Plus, remember to add exit;
after header. Otherwise and if you have more code below that, it may want to continue and execute.
header("location: indextest1.php");
exit;