Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2012, 10:16
Mauk
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta como crear una nueva tabla en mysql desde un formulario

Hola que tal, soy algo nuevo en la programación en PHP, y necesito crear una nueva tabla en mi BD de MySql, a partir de un formulario en cual se ingresa en nombre de la nueva tabla y un par de campos mas en los cuales serán añadidos por DEFAULT a campos específicos en mi tabla.

Aquí les dejo mi código para que lo chequen:

Código HTML:
Ver original
  1.     <head>
  2.         <title> Nueva Subred </title>
  3.     </head>
  4.    
  5.     <body>
  6.         <h1> Añadir nueva subred </h1>
  7.         <form method="POST" action="registro.php"/>
  8.            
  9.             <table>
  10.                 <tr>
  11.                     <td>
  12.                     <b>Nombre de la nueva Subred:  </b>
  13.                     </td>
  14.                     <td>
  15.                     <input type="text" name="nc_trabajo">
  16.                     </td>
  17.                 </tr>
  18.                
  19.                 <tr>
  20.                     <td>
  21.                     <b>Escriba un sub-nombre para la nueva Subred:  </b>
  22.                     </td>
  23.                     <td>
  24.                     <input type="text" name="table_name">
  25.                     </td>
  26.                 </tr>  
  27.                
  28.                 <tr>
  29.                     <td>
  30.                     <b>Escriba el segmento de direcciones:  </b>
  31.                     </td>
  32.                     <td>
  33.                     <input type="text" name="newSeg">
  34.                     </td>
  35.                 </tr>
  36.                
  37.             </table>
  38.            
  39.             <input type="submit" name="submit" value="Registrar"/> <input type="reset"/>
  40.         </form>
  41.        
  42.         <?php
  43.             if(isset($_POST['submit'])){
  44.                 require("registro.php");
  45.             }
  46.        
  47.         ?>
  48.         </form>
  49.        
  50.     </body>
  51. </html>

Y este es archivo que hace la consulta a MySql, para crear la nueva tabla:

Código PHP:
Ver original
  1. <?php
  2.    
  3.     $c_trabajo = $_POST['nc_trabajo'];
  4.     $table_name = $_POST['table_name'];
  5.     $segmento   = $_POST['newSeg'];
  6.        
  7.         $con = mysql_connect("localhost", "root", "");
  8.        
  9.         if (!$con)
  10.         {
  11.             die('No se pudo conectar a la BD: ' . mysql_error());
  12.         }
  13.  
  14.         $bd = mysql_select_db("cfe", $con);
  15.            
  16.             $tabla = "CREATE TABLE $table_name(
  17.                                     dir VARCHAR (25) DEFAULT $segmento,
  18.                                     ip INT (10) AUTO_INCREMENT,
  19.                                     c_trabajo VARCHAR (25) DEFAULT $c_trabajo,
  20.                                     equipo VARCHAR (25),
  21.                                     user VARCHAR (25),
  22.                                     puesto VARCHAR (25),
  23.                                     state VARCHAR (15) DEFAULT 'No Asignada')";
  24.            
  25.             $query = mysql_query($tabla,$con) or die ("Error:" .mysql_error());
  26.            
  27.             mysql_close($con);
  28.             echo 'Se ha creado la nueva Subred con exito!';
  29.            
  30. ?>

El error que me envia es el siguiente:

Error: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 '.90., ip INT (10) AUTO_INCREMENT, c_trabajo VARCHAR (25) DE' at line 2

Lo e intendado resolver, pero no consigo solucionarlo..

Alguien que pueda ayudarme!!