0

Después de hacer validar el formulario la pantalla se queda en blanco, aparentemente no se muestra ningun error en la pantalla, pero ya que te metes a phpMyAdmin te puedes dar cuenta de que la tabla no se creó. ¿Que tipo de error puede estar causando esto? Como informacion extra, tengo pensado crear otras funciones dentro de mi página para ir creando columnas dentro de la tabla, por eso solamente le puse que se creara una sola columna, la cual es la del ID, no se si eso tenga algo que ver con este problema.

<?php
    $tituloExamen = $_POST['tituloExamen'];
    $conexion = mysqli_connect('localhost','root','','capacitacion');
    $nuevoExamen = "CREATE TABLE ".$tituloExamen." (
                    id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                    )";             
    mysqli_query($conexion, $nuevoExamen);
    mysqli_close($conexion);
?>
Y1LY
  • 159
  • 10
  • Independientemente del problema inicial, ¿a qué se debe que tengas que crear tablas de este modo? Generalmente las tablas forman parte de un diseño bien pensado y representan entidades concretas de una aplicación. Me parece muy raro tener que crear tablas de forma dinámica. Aparte de esto no hay ningún control de seguridad lo cual podría causar que un usuario mal intencionado tome el control de tu sistema mediante *Inyección SQL*. Un problema que va mucho más lejos de lo que habitualmente creemos, como tratamos de abordar en [esta pregunta](https://es.stackoverflow.com/q/108520/29967). – A. Cedano Feb 13 '20 at 21:07

1 Answers1

2

Tienes una coma , adicional en tu query después de PRIMARY KEY que puede estar ocasionando el problema:

$nuevoExamen = "CREATE TABLE ".$tituloExamen." (
                    id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY, <-- Coma adicional
                    )";
Vlady
  • 1,691
  • 4
  • 14
  • sigue sin funcionar despues de habersela quitado – Gerardo Topete Feb 13 '20 at 20:00
  • Puedes decir qué devuelve si ejecutas `echo mysqli_error($conexion);` antes de `mysqli_close` y después de `mysqli_query`? – Vlady Feb 13 '20 at 20:08
  • Ya descubri cual era el problema, lo que estaba pasando era que cuando estaba mandando el nombre para la nueva tabla lo estaba poniendo con espacios y despues pense en que a lo mejor eso era lo que no me estaba dejando crear la tabla, y si, ese era el problema NO SE PUEDE CREAR UNA TABLA CUYO NOMBRE CONTENGA ESPACIOS. – Gerardo Topete Feb 13 '20 at 20:17