Error de MySQL: “un error en su syntax de SQL; consulte el manual que corresponde a su versión del servidor MySQL para la syntax correcta “

Recibo este error de MySQL:

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 'Details (title, first, last, NRIC, po' at line 1 

Aquí está el código:

  

Tu problema yace aquí:

 INSERT INTO Member Details ... 

Como tiene un espacio allí, cree que Member es el nombre de la tabla y Details es extraño, de ahí el error.

Si su tabla es Member Details , debe encerrarla dentro de los ticks posteriores:

 INSERT INTO `Member Details` ... 

De hecho, no soy tan fanático de los espacios en los nombres de tablas SQL (o nombres de archivos del sistema de archivos para el caso). En este caso particular, creo que MemberDetails (o Member_Details , member_details y probablemente otros) es igual de legible, sin requerir el uso de backticks dispersos en todo su código.

pruebe mark (“) para cada nombre de campo para que el resultado sea como este

 "INSERT INTO `Member Details` (`title`, `first`, `last`, `NRIC`, `birthdate`, `birthmonth`, `birthyear`, `address`, `postal`, `genderSelect`, `contact`, `email`, `enter`, `password`, `Updates`, `Terms`, `submit_but`, `status`) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7', '$value8', '$value9', '$value10', '$value11', '$value12', '$value13', '$value14', '$value15', '$value16', '$value17', '$value18')"; 

Su syntax de inserción es incorrecta. Si el miembro es el nombre de la tabla, debería ser algo como lo siguiente

 INSERT INTO Member (title, first, last, NRIC, birthdate, birthmonth, birthyear, address, postal, genderSelect, contact, email, enter, password, Updates, Terms, submit_but, status) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7', '$value8', '$value9', '$value10', '$value11', '$value12', '$value13', '$value14', '$value15', '$value16', '$value17', '$value18')