Hola!
Me gustaria saber como hacer en php para crear tablas en una base de datos?, como hacen los instaladores de php, vbulletin o invision que te crean todo desde la interfaz web, como se logra eso?
| |||
Crear tablas desde php Hola! Me gustaria saber como hacer en php para crear tablas en una base de datos?, como hacen los instaladores de php, vbulletin o invision que te crean todo desde la interfaz web, como se logra eso? |
| ||||
Re: Crear tablas desde php No entiendo porque este código tan sencillo no funciona ![]() Código PHP: ![]() A ver si alguien puede ayudarme ![]() Saludos! |
| ||||
Re: Crear tablas desde php Tienes los permisos necesarios para crear una DB? Prueba poniendo el clasico or die(mysql_error()); al final del mysql_query() que crea la BD.
__________________ Sin Ideas |
| ||||
Re: Crear tablas desde php Te dice que tienes el acceso negado.. mmh.. creo que lo que pasa es que creas la DB, pero no le asignas los permisos al usuario para poder usarla.. eso se hace con GRANT.. no he usado mucho eso, asi que ahi deberás investigar un poco mas o.o
__________________ Sin Ideas |
| |||
Re: Crear tablas desde php |
| ||||
Re: Crear tablas desde php Gracias a ambos, sobre la función PHP mysql_create_db, me da un error de que la función no existe (y de hecho en la documentación dice que es obsoleta, así que seguramente sea por eso). Sobre GRANT, si bien no lo entendí del todo, supongo que si el problema fuera el que comentas oso96_2000, la bbdd se debería crear en el servidor, verdad? Porque directamente no se crea nada ![]() Alguna idea, o será que no hay solución ![]() ![]() ![]() |
| ||||
Re: Crear tablas desde php Gracas ikarush, de hecho yo también utilizo phpMyadmin, el tema es que necesito un sistema que se instale mediante un install.php y necesitaba que este archivito creara BBDD, tablas, usuarios, etc, etc... Gracias ![]() alguna otra opinión / idea??? ![]() |
| ||||
Re: Crear tablas desde php Si no te esta creando la base de datos es probable que el usuario sobre el que estas ejecutando no tenga permisos para crear bases de datos. Saludos. |
| ||||
Re: Crear tablas desde php con el comando GRANT le das permisos especificos a cada usuario, pero si tu usuario sobre el que te conectas a la base de datos no tiene los permisos no vas a poder crear un usuario. Lo mejor es entrar como root y darle GRANT al usuario que quieras que pueda crear bases de datos. Saludos. |
| |||
Re: Crear tablas desde php Cita: Desde phpMyAdmin puedes crear un usuario de la DB, y darle los permisos que quieras, si el Host no es tuyo, tendran que dartelos.Ahora : Si no recuerdo mal creas la base de datos con lo que quieras que haya dentro en phpmyadmin. le das a exportar DB, y te crea un archivo sql. Para volver a crearla : metes ese sql en un mysql_query, y hale hop! (Asi lo haria yo) |
| |||
Re: Crear tablas desde php hola a tod@s: este es el codigo que he puesto para crear una base de datos y su tabla: <?php define ("CONSTANTE", "HOLA MUNDO "); PRINTF (CONSTANTE); // DEFINIMOS $basedatos = "my_db"; // conectamos $link = mysql_pconnect("localhost","root","papapapa"); //comprobamos que si que hay c onexion if (!$link) { echo "<BR><h2 align='center'>ERROR: IMPOSIBLE CONECTAR CON EL SERVIDOR</H2>"; exit; } // obtenemos una lista de las bases de datos del servidor $db = mysql_list_dbs(); //vemos cuantas BD hay $num_db=mysql_num_rows($db); echo "<br>numero de bases de datos=".$num_db."<br><br><br>"; for ($m=0;$m<$num_db;$m++) { $nombre_bd = mysql_dbname($db,$m); echo "\t".$nombre_bd."\t"; } // creamos la database $bbdd = mysql_query("CREATE DATABASE base2 ",$link); ECHO "<BR> ESTA ES LA VARIABLE BBDD = ".$bbdd; //creamos la tabla $bd_base2 = mysql_select_db("base2"); echo "<br>conexion con la BD base2 = ".$bd_base2; $tabla = "CREATE TABLE agenda (id int(1) NOT NULL, AUTO INCREMENT, nombre CHAR(50),PRIMARY KEY (id));"; echo "<br><br>esto es el contenido de la variable tabla = ".$tabla."<br>"; $sql = mysql_query( $tabla,$link); echo "<br> esta es la variable sql de la creacion e la tabla = ".$sql; ?> Y EL RESULTADO ES ÉSTE CON EL EXPLORADOR: HOLA MUNDO numero de bases de datos=7 information_schema libreria libreria2 mysql opiniones phpmyadmin test ESTA ES LA VARIABLE BBDD = 1 conexion con la BD base2 = 1 esto es el contenido de la variable tabla = CREATE TABLE agenda (id int(1) NOT NULL, AUTO INCREMENT, nombre CHAR(50),PRIMARY KEY (id)); esta es la variable sql de la creacion e la tabla = ---------------------------------------------------------------------------------------------------- ME PODRÍAN USTEDES AYUDAR Y DECIRME POR QUÉ NO SE CREÓ LA TABLA? SE LO AGRADECERÍA ETERNAMENTE, POR QUE ESTOY LLEGANDO A UN PUNTO QUE NO SÉ QUÉ CODIGO PONER YA....., MUCHAS GRACIAS. salu2. |
| ||||
Re: Crear tablas desde php Cambia este comando: Código PHP: Código PHP: |
| |||
![]() hola GatorV: Primero que nada agradecerte infinitamente la "pestañita" que me has dejado por que funciona perfectamente, pero, con ese cambio y otros más . Me explico: cuando cambié la el contenido de la variable $sql, me dijo que habia una error de sintaxis en la sentencia SQL, decia algo así como que debia de reviar la version del MYSQL Y no sé que cosas más, ...: Pues bien, lo qeu hice , y esto que sirva para los demás para que sepan que posiblemente la sentencia sql que yo habia introducido es , digamos , la genérica, pero que como todos nosotros sabemos, cada aplicacion tienes sus "pequeñas" variantes, como son las comillas simples, .. Pues bien, como te decia, ví otra tabla que creé con el phpmyadmin , pulsando en el boton de "EXPORTAR" --> "Continuar" , y allí aparece la sintaxis SQL correcta de la tabla para, así, poder crear la tabla dentro de la base de datos. Bueno, espero haberme explicado correctamente, pero tengo que decir que me siento muy ayudado y satisfecho con la ayuda que me has dado. El pequeño consejito que he dado , seguramente ya lo sabias, pero he preferido ponerlo para que quien le ocurra algo similar , pueda "hechar mano" de esta ayuda. muchas gracias GatorV, seguiremos en contacto por aqui Salu2. |
| |||
![]() Ah!!, fifate GatorV, la sentencia era tal que así, para que veas los detalles: $tabla = "CREATE TABLE `clientes2` ( `clientes-id` int(3) NOT NULL, `nombre` varchar(30) default NULL, `direccion` varchar(40) default NULL, `tlfono` varchar(10) default NULL, PRIMARY KEY (`clientes-id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; Y el resultado con el explorador fué el siguiente: HOLA MUNDO numero de bases de datos=7 information_schema libreria libreria2 mysql opiniones phpmyadmin test ESTA ES LA VARIABLE BBDD = 1 conexion con la BD base2 = 1 esto es el contenido de la variable tabla = CREATE TABLE `clientes2` ( `clientes-id` int(3) NOT NULL, `nombre` varchar(30) default NULL, `direccion` varchar(40) default NULL, `tlfono` varchar(10) default NULL, PRIMARY KEY (`clientes-id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8; esta es la variable sql de la creacion e la tabla = 1 |