Tu problema es algo que ya te mencionamos en otro hilo, y en este caso se da, en principio, porque no estás considerando que todos los campos deben separarse de los demás por medio de una coma (,),
excepto el último que no debe tener ninguna antes del parentesis.
Código PHP:
Ver original$cadenaCampos="";
for($i=1; $i<count($campos); $i++) { $cadenaCampos=$cadenaCampos.$campos[$i] . ", ";
}
$cadenaCampos[strlen($cadenaCampos)-2]=")"; $sql=$cadena.$cadenaCampos;
Ahora bien, desde el punto de vista del sistema, hay un error mucho más grave y es que no se deben crear dinámicamente las tablas. Eso es un error conceptual. La estructura de la base es una estructura fija, con muy pocas modificaciones las cuales además se hacen por necesidades de cambio de entorno.
Crear tablas dinámicamente no es una buena idea, entre otras razones porque las tablas que se crean son ineficientes (carecen de una correcta definicion de datos y de indices), y pueden hacer crecer estructura de la base sin control.
Pero, bueno, es tu decisión. Desde ya te digo que es un error, aunque se pueda hacer.
En cuanto al error puntual que preguntas, lo
primero que debes hacer es que se visualice la query generada, cosa que no te has molestado en hacer, ya que los errores de sintaxis en este tipo de cosas, son perfectamente visibles.
Nunca ejecutes un aquery que estás desarrollando sin previamente visualizarla. Te ahorrarás perdidas de tiempo.