Foros del Web » Programando para Internet » PHP »

crear bases de datos

Estas en el tema de crear bases de datos en el foro de PHP en Foros del Web. Hola, Ya tengo instalado phpmyadmin, pero quiero aprender a crear las bases de datos y las tablas desde php. He escrito este código: <?php create ...
  #1 (permalink)  
Antiguo 30/07/2009, 04:39
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
crear bases de datos

Hola,
Ya tengo instalado phpmyadmin, pero quiero aprender a crear las bases de datos y las tablas desde php. He escrito este código:

<?php
create database basededatos
?>

Y al ejecutarlo:

Parse error: parse error in C:\xampp\htdocs\xampp\basededatos.php on line 2

También he leído en un tutorial: Para crear una base de datos debemos ser el administrador de mySQL o el root. ¿Cómo se hace eso?

Luego dice que la instrucción es: mysqladmin create mydb

Hago este código:

<?php
mysqladmin create mydb
?>

Y al ejecutarlo me sale:

Parse error: parse error in C:\xampp\htdocs\xampp\basededatos.php on line 2
  #2 (permalink)  
Antiguo 30/07/2009, 05:24
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: crear bases de datos

prueba haciendo

Código php:
Ver original
  1. <?php
  2.  
  3. $sql = "create database basededatos";
  4.  
  5. ?>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 30/07/2009, 08:38
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: crear bases de datos

Bueno, esto sí funciona, pero me estoy dando cuenta de que hay conceptos básicos que no conozco y hay algunas cosas que debería leer antes de seguir.

Yo estoy leyendo tutoriales de php, y todo se entiende bien pero al llegar a la parte de bases de datos o bien los tutoriales no tocan ese tema, o suponen conocimientos que no tengo y no me entero.

Por el ejemplo anterior parece que create database basededatos es una instrucción mysql y no php, y mysql_query es la forma de ejecutar una instrucción sql dentro de un script php ¿no?

¿O sea que cualquier instrucción relacionada con las bases de datos debe hacerse de esta forma y lo que debo aprender ahora es mysql?

Pero lo primero que leo por ahí de mysql me dice que para conectarme al servidor mysql necesito un usuario y una contraseña, y no sé cuales son.

O por ejemplo me dicen eesta instrucción:

mysqladmin -u root create base_datos

Que creo que no es php y no sé donde se escribe.

Yo he leido el tutorial de php de Ajlearning y no sé lo que debo leer ahora para seguir y aclarar estos conceptos básicos. Las FAQ de este foro en seguida comienzan con detalles de cierto nivel y lo mismo ocurre cuando busco tutoriales: o me dicen cosas que ya sé o suponen que ya sé ciertas cosas. ¿Qué debo leer ahora o qué cuestiones básicas debo saber para que, ahora que ya sé lo básico de php, pueda simplemente crear una base de datos, introducir datos ys acarlos, pero desde un script, no desde el phpmyadmin, que también tendré que aprenderlo?
  #4 (permalink)  
Antiguo 30/07/2009, 09:51
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: crear bases de datos

yo cuando empezé a programar queria hacer mis páginas web en .txt y renegaba de dreamweber, pero ahora no se me pasaria por la mente hacerlo asi.
a ti te pasa algo similar, el complicarse tal vez en hacer algo que no tiene ninguna ciencia, aunque por un lado lo encuentro loable y es que quieres aprender en mayor profundidad.

otra manera de crear una BD es

Código PHP:
<?
#Crear base de datos
$link mysql_connect ("servidor""usuario""password");

$result mysql_create_db ("NombreBaseDatos",$link);
if (
$result==0)
{
    
printf ("No se ha podido crear la Base de Datos<P>\n");
}

else
{
    
printf ("La Base de Datos se ha creado correctamente<P>\n");
}

mysql_close($link);

?>
ahora, lo de usuario y contraseña es simple
estas usando xampp por ende simulas un servidor local
ante ello el nombre de tu servidor es localhost, tu usuario es root y tu contraseña... no tienes XD

esto siempre y cuando no definas lo contrario y cambies los parametros, pero asi es por defecto la mayoria de las veces, de lo contrario puede existir una contraseña por defecto y en ese caso tambien la mayoria de las veces es "mysql"

y referente a los manuales... muchas veces no sacas nada con leer si no sabes lo que leeras, por ende es mejor que busques codigo y despues busques la definicon directa de lo que te llama la atencion... asi aprenderas a leer los manuales y podras entender y comprender algo, ya que no todos los manuales son básicos o están hechos para novatos!

espero haberte ayudado!
saludos!
  #5 (permalink)  
Antiguo 30/07/2009, 13:03
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: crear bases de datos

Por supuesto que me ayudas. Me parece que los tutoriales no suelen aclarar lo esencial y uno se tiene que enterar de los fundamentos a base de preguntar dudas. hay cosas que no me quedan claras:

1. Cuando dices lo de dreamweaver me imagino que te refieres a que para mí sería más cómodo trabajar con phpmyadmin, pero imagino que según lo que uno quiera hacer es mejor saber mphpmyadmin y a la vez saber hacer las cosas en php.
2.Instrucciones como mysql_close entiendo que son llamadas a mysql desde php, pero ¿no existe un código mysql sin php? sin ese mysql antes del guión bajo. ¿Cómo se escribe?
  #6 (permalink)  
Antiguo 30/07/2009, 13:59
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: crear bases de datos

He puesto el código de la respuesta de twonex y me da este error:


Fatal error: Call to undefined function mysql_create_db() in C:\xampp\htdocs\xampp\basededatos.php on line 6

la línea 3 la he escrito de esta forma:

$link = mysql_connect ("localhost", "root","");

En cambio modificando el código de esta forma no me ha dado problemas ¿Por qué?:

<?php

#Crear base de datos
$link = mysql_connect ("localhost", "root","");
$sql = "create database basededatos";
$result= mysql_query($sql);
if ($result==0)
{
printf ("No se ha podido crear la Base de Datos<P>\n");
}

else
{
printf ("La Base de Datos se ha creado correctamente<P>\n");
}

mysql_close($link);


?>
  #7 (permalink)  
Antiguo 30/07/2009, 18:34
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: crear bases de datos

la funcion mysql_create_db(); esta algo desfazada supongo estas con php 5 y mysql 5 o bien php 4.3.4 o superior
ese <P> ??? como para que seria :P

saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #8 (permalink)  
Antiguo 30/07/2009, 18:59
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: crear bases de datos

Hola te pongo un codigo que deberia funcionarte :).

Código php:
Ver original
  1. <?php
  2.  
  3. $link = mysql_connect('localhost','root','') or die("Error conectando a la db");
  4. $query=mysql_query("CREATE DATABASE basededatos",$link);
  5. if($query){
  6. echo "Base de datos creada exitosamente";
  7. }else{
  8. echo "Base de datos no creada";
  9. }
  10. ?>

Saludos!
  #9 (permalink)  
Antiguo 30/07/2009, 19:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: crear bases de datos

Hola, aquí te dejo otro que la puedes crear desde un FOM
la DB y Tabla
NOTA
asegúrate de introducir los datos correspondientes en las variables
$host = 'localhost';//Mysql Host. localhost si se usa
$user = '';//Mysql Usuario
$pass = '';//Mysql Clave


Código PHP:
<form action="" method="post">
Nombre de la Base de Datos <br />
  <input name="db" type="text"><br />
Nombre de la Tablabr <br />
<input name="table" type="text"><br />
<input name="submit" type="submit" value="Enviar">
</form>
<?php 
$host 
'localhost';//Mysql Host. localhost si se usa
$user '';//Mysql Usuario
$pass '';//Mysql Clave

if(isset($_POST['db'])){
$my_db $_POST['db'];
$my_table $_POST['table'];
$con mysql_connect("$host","$user","$pass");
if(!
$con){
die(
'Could not connect: ' mysql_error());
}
if(
mysql_query("CREATE DATABASE IF NOT EXISTS $my_db")){
echo 
"<b>La Base de Datos <i>$my_db</i> fue creada. </b><br />";
}else{
echo 
"Error al crear la Base de Datos: "mysql_error().'<br />';
}
mysql_select_db("$my_db"$con);
/*
************* Create table*************
Puedes agregar mas compos de texto y $_POST para automarisar los campos. producto y producto_id
etc.
*/
$sql "CREATE TABLE ".$my_table." (`id` int(25) NOT NULL auto_increment,`producto` varchar(255) NOT NULL default '', `producto_id` int(25) NOT NULL default '0', PRIMARY KEY  (`id`)) TYPE=MyISAM";
// Execute query
if(mysql_query($sql,$con)){
echo 
"<b>y se creo la Tabla <i>$my_table</i> Con exito.</b>";
}else{
echo 
"Error al crear la  Tabla: " mysql_error();
}
mysql_close($con);
}
?>
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #10 (permalink)  
Antiguo 31/07/2009, 08:38
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: crear bases de datos

lo otro es que te dirijas al foro Bas de Datos y ahi revisar los temas para chequear los codigos que se utilizan, asi salir de la duda de cual es cual.

si no directo al foro MySQL

saludos!
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 14:42.