Bien, ¿$categoria o $titulo tienen espacios en blanco? Porque un nombre de tabla no puede tener un espacio en blanco. Estarias haciendo:
CREATE TABLE parte uno (...
Lo que no es sintaxis correcta de CREATE TABLE.
En
http://www.mysql.com/doc/en/Legal_names.html tienes mas info sobre los caracteres permitidos (NOTA: el espacio no es un caracter permitido para nombres de ficheros en muchos sistemas operativos).
Saludos.