La sintaxis tiene algunos errores. No debes usar palabras o caractreres reservados (como el signo "-"), no es buena idea. Pero si los usas debes ponerlo entre acentos graves y no entre apóstrfes:
Código sql:
Ver originalCREATE TABLE `t1` (
`RUBRO-P` INT(2) NOT NULL,
`SUBRUB-P` INT(2) NOT NULL,
`CODPRO-P` VARCHAR(15) NOT NULL,
`NOMBRE-P` VARCHAR(40) NOT NULL,
`TIPPRO-P` CHAR(1) DEFAULT NULL,
`SALDO-P` SMALLINT(6) DEFAULT NULL,
`MONEDA-P` tinyint(2) DEFAULT NULL,
`FECELI-P` INT(8) DEFAULT NULL,
`FECAGO-P` INT(8) DEFAULT NULL,
`PREFER-P` bit(1) NOT NULL,
`FECPRE-P` INT(8) DEFAULT NULL,
`DIGPRE-P` bit(1) DEFAULT NULL,
`CODBASE-P` VARCHAR(20) NOT NULL,
`CODMARCA-P` VARCHAR(15) NOT NULL,
`MARCA-P` INT(4) DEFAULT NULL,
`SWFOTO-P` INT(1) DEFAULT NULL,
PRIMARY KEY (`CODPRO-P`),
KEY `NOMBRE-P` (`NOMBRE-P`),
KEY `PREFER-P` (`PREFER-P`),
KEY `RUBRO-P` (`RUBRO-P`),
KEY `SUBRUB-P` (`SUBRUB-P`),
KEY `CODBASE-P` (`CODBASE-P`),
KEY `CODMARCA-P` (`CODMARCA-P`)
) ENGINE=MyISAM ;
Procura no poner código de PHP o de cualquier otro lenguaje. Estás posteando en el Foro de Bases de Datos y aquí sólo vale SQL. Al usar otro código no es posible determinar si el error está en el SQL o en el otro...