|
Ahora pasaremos a la
segunda parte del informe, el cual consiste en la creaci�n y
eliminaci�n de base de datos, creaci�n y eliminaci�n de tablas, todo
esto a trav�s de PHP, esto se puede hacer de dos formas:
� Usando las funciones que PHP nos proporciona, como por ejemplo
mysql_create_db().
� La otra forma es enviando consultas SQL como por ejemplo $consulta
= (�CREATE DATABASE nombredb�);.
Aunque existen herramientas que pueden hacer todo lo anterior, como
por ejemplo phpMyAdmin, nosotros vamos a demostrar que no es
tan dif�cil hacerlo.
Lo primero que haremos es crear una base de datos, para esto,
tenemos un formulario con un campo de texto en donde ingresaremos el
nombre de la base de datos y un bot�n que nos enviar� hacia un
archivo en donde se ejecutar�n las sentencias de PHP y MySQL
correspondientes (ver imagen).

Creaci�n de una base de datos.
Si no ingresamos alg�n nombre, la base
de datos no podr� ser creada, entonces nos mostrar� lo siguiente:

No se puede crear la base de datos.
Si la base de datos existe nos mostrar�
lo siguiente:

La base de datos existe.
Si la base de datos no existe e
ingresamos un nombre correcto entonces nos mostrar� el siguiente
mensaje:

Base de datos creada.
Archivo: creacion.php
Cuando declaramos el formulario, ponemos como acci�n enviarnos hacia
el archivo crea.php
<FORM ACTION="crea.php" method="post">
Al campo de texto que declaramos, le asignamos como nombre �nombredb�,
que ser� usado en el archivo crea.php, lo declaramos de la siguiente
manera:
<INPUT TYPE="text" NAME="nombredb" SIZE="30" MAXLENGTH="30">
Archivo: crea.php
Declaramos la variable que vamos a utilizar para darle el nombre a
la BD.
$nombredb;
Mostramos el nombre de la base de datos que deseamos ingresar:
echo "<br>Usted ingreso la base de datos con el nombre ";
echo $nombredb;
Ahora nos conectamos con el servidor, asignando a $link el id de la
conexi�n, observar que ahora utilizamos un �@� para hacer la
conexi�n:
$link = @mysql_connect("localhost", "root", "password");
Comprobamos que hemos establecido la conexi�n en el servidor, de no
ser as�, mostramos el mensaje de error:
if (! $link){
echo "<br>Error ! No se puede establecer conexi�n con el
servidor...";
exit;
Obtenemos una lista de las bases de datos del servidor con
mysql_list_db() y se lo asignamos a $db, lo que nos devuelve es un
puntero con las bases de datos disponibles.
$db = mysql_list_dbs();
Vemos cuantas Bases de Datos hay con mysql_num_rows, el cual
devuelve el n�mero de filas del resultado de una consulta
$num_bd = mysql_num_rows($db);
echo "En estos momentos el servidor tiene: ";
echo $num_bd;
echo " Base de Datos...";
Ahora comprobamos si la base de datos que queremos crear existe.
Usamos mysql_dbname para devolver nombres de las base de datos,
guardado en posici�n i de los resultados del indicador de consulta
devuelto por la funci�n mysql_list_db()
$existe = "NO" ;
for ($i=0; $i<$num_bd; $i++) {
if (mysql_dbname($db, $i) == $nombredb) {
$existe = "SI" ;
echo "La base de datos ya existe (intente con otro nombre)...";
break;
Si la base de datos que queremos crear no existe, entonces la
creamos con funciones PHP (mysql_create_db()).
if ($existe == "NO") {
if (! mysql_create_db($nombredb, $link)) {
echo "Error ! No se puede crear la base de datos $nombredb";
Debemos fijarnos que anteponemos �!� para crear la base de datos,
solo de esta manera podremos mostrar el mensaje de error, si es que
por alg�n motivo no se puede crear la base de datos.
Ahora mostramos el mensaje indicando que la base de datos fue creada
con �xito:
}
else {
echo "Felicitaciones. Base de datos <b>$nombredb</b> creada...";
}
exit;
}
Para eliminar una base de datos (BD), debemos ir al archivo
eliminadb.php, en la p�gina se muestra como un link que dice
�Eliminar Base de Datos�, y nos mostrar� algo como esto:

Eliminar base de datos.
Si no indicamos alg�n nombre para
eliminar, se mostrar� el siguiente error:

Error al eliminar.
Si la base de datos a eliminar no
existe, se mostrar� lo siguiente:

Error al eliminar.
Si la base de datos existe, entonces
reci�n podremos eliminarla, la p�gina nos mostrar� lo siguiente:

Base de datos eliminada.
Archivo:
eliminadb.php
Tenemos un formulario que tiene como acci�n llevarnos hacia el
archivo eliminadadb.php, el cual ejecutara la sentencia SQL
correspondiente para eliminar la BD.
<FORM ACTION="eliminadadb.php" method="post">
Al campo de texto que declaramos, le asignamos como nombre �nombredb�,
que ser� usado en el archivo eliminadadb.php, asign�ndole la
variable $nombredb, su declaraci�n es la siguiente:
<INPUT TYPE="text" NAME="nombredb" SIZE="30" MAXLENGTH="30">
Ahora establecemos la conexi�n con el servidor:
$link = @mysql_connect("localhost", "root", "password");
Archivo: eliminadadb.php
Nuevamente establecemos la conexi�n con el servidor y declaramos una
sentencia SQL, la cual permite eliminar la base de datos ingresada.
Observemos que en esta caso no usamos funciones PHP para eliminar la
BD, si no que usamos una sentencia SQL, asignada a una variable ($sql).
$link = @mysql_connect("localhost", "root", "password");
$sql = "drop database $nombredb";
Si la condici�n (if) es cierta, ejecutamos la sentencia SQL,
indicando como argumentos, el nombre de la base de datos ($nombredb),
la sentencia SQL ($sql) y el identificador de la conexi�n ($link).
Entonces la base de datos se ha borrado con �xito:
if (@mysql_db_query($nombredb, $sql, $link)) {
echo "La base de datos se ha borrado con �xito...";
echo " Base de Datos Borrada: <b>$nombredb. </b>";
De lo contrario, mostramos el mensaje de error, indicando que la
base de datos no se ha podido eliminar:
} else {
echo "No se ha podido borrar la base de datos...<a href=\"eliminadb.php\">Volver
!</a>";
} |