Foros del Web » Programando para Internet » PHP »

Necesito crear base de datos y tabla con valores de un formulario

Estas en el tema de Necesito crear base de datos y tabla con valores de un formulario en el foro de PHP en Foros del Web. Necesito crear una base de datos con un valor extraído de un formulario.. osea el nombre de la base de datos lo tome de ahí.. ...
  #1 (permalink)  
Antiguo 20/04/2010, 17:51
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación Necesito crear base de datos y tabla con valores de un formulario

Necesito crear una base de datos con un valor extraído de un formulario.. osea el nombre de la base de datos lo tome de ahí..
y lo mismo para crear la tabla...
probre con este código pero me dice q fue creada pero en realidad no crea nada.. Si sustituyo las variables por nombres comunes en la parte de la creacion de BD y Tabla funciona perfectamente pero asi no da resultado..
Si me podrian ayudar desde ya muchas gracias..

$basedatos=$_SESSION["nombre"];
$tabla=$_SESSION["apaterno"];

mysql_connect("localhost","****","*****");
$sql = "CREATE DATABASE $basedatos";
@mysql_query($sql);
if ($sql == false)
{
echo ("No pudo crearse la base de datos");
}
else
{
echo "LA BASE DE DATOS FUE CREADA SATISFACTORAMENTE";
}
mysql_connect("localhost","***","****");
mysql_select_db("$basedatos");
mysql_query("CREATE TABLE `$tabla` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`value` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=33");
?>
  #2 (permalink)  
Antiguo 20/04/2010, 18:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 81
Antigüedad: 16 años
Puntos: 3
Respuesta: Necesito crear base de datos y tabla con valores de un formulario

Hola necesitas ponerle comillas a la variable que lleva el nombre de tu DB en esta linea:

Código PHP:
Ver original
  1. $sql = "CREATE DATABASE $basedatos";
  #3 (permalink)  
Antiguo 20/04/2010, 18:11
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Necesito crear base de datos y tabla con valores de un formulario

Cita:
Iniciado por el_eze_r Ver Mensaje
Necesito crear una base de datos con un valor extraído de un formulario.. osea el nombre de la base de datos lo tome de ahí..
y lo mismo para crear la tabla...
Si quieres obtener los datos de un formulario...normalmente es por post

Código PHP:
$basedatos=$_POST["nombre"];
$tabla=$_POST["apaterno"]; 
De todas maneras te recomiendo de que te pongas debajo:

Código PHP:
echo "Base de datos: ".$basedatos;
echo 
"Tabla: ".$tabla
asi siempre sabras si el formulario hace bien su funcion y te envia las variables... y una vez que tienes ese paso correcto ... procesdes con la parte de abajo mysql para carear la base de datos y las tablas.

Por cierto te tengo que comentar que en un hosting compartido los privliegios de usuarios...muy pocos tienen lo de crear base de datos.

Suerte
__________________
Ado_k2 :adios:
  #4 (permalink)  
Antiguo 20/04/2010, 18:28
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito crear base de datos y tabla con valores de un formulario

lo solucione solo llamando bien a las variables..

$basedatos=$_SESSION["nombre"];
$tabla=$_SESSION["apaterno"];
mysql_connect("localhost","***","***");
if(
$sql = "CREATE DATABASE `{$basedatos}`";
@mysql_query($sql);
if ($sql == false)
{
echo ("No pudo crearse la base de datos");
}
else
{
echo "LA BASE DE DATOS FUE CREADA SATISFACTORAMENTE";
}
mysql_connect("localhost","***","***");
mysql_select_db($basedatos);
mysql_query("CREATE TABLE `{$tabla}` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`value` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=33");
?>

tenia q insertarlas de esa forma..

`{$basedatos}`

Etiquetas: mysql, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:14.