sábado, 22 de marzo de 2014

Script php para poblar base de datos con campos aleatorios en MySQL

Muchas veces sucede que tenemos que simular una tabla con x registros en una base de datos, llenarla una por una es una tarea engorrosa, o hacerlo desde phpMyAdmin da pereza, este script en PHP nos llena una tabla llamada "usuarios"  y le inserta 10 registros, cada registro esta compuesto por una cadena aleatoria de 10 caracteres alfabéticos que son generados a través de la función "Generador" este ciclo se repite 10 veces  a través de un bucle while, el loop puede contener tantas repeticiones como cantidad de registros que queramos cargar en la base de datos

Partiendo que la base de datos "PRUEBAS" esta compuesta de una tabla "USUARIOS" y 2 campos ID y NAME

Notese  que la función "Generador" es la que nos genera una cadena aleatoria de hasta 10 caracteres alfabéticos usando la función chr que va de 65 a 90 osea de la a a la z en forma aleatoria sin salirnos de estos parámetros, luego antes de guardarlo en la base de datos lo convertimos en una cadena MD5 solo porque quise hacerlo asi en el momento que hice este script para probar un sistema de paginación.



<?php

/**
Taller de scripts
por Daniel Martín
22/03/2014
*/
Function Generador(){
$cadena='';
for ($a=1;$a<=10;$a++){
     $cadena.= chr(rand(65,90));}//de la a a la z
     return $cadena;
 }

$host='localhost';
$user='usuario';
$pass='contraseña';
$db='pruebas';
$mysqli = new mysqli($host, $user, $pass, $db);

if ($mysqli->connect_errno) {
    echo "Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

// Cargar filas con datos aleatorios

$a=0;
while ($a++<10){
$name=md5(Generador());
if (!$mysqli->query("INSERT INTO usuarios VALUES (NULL, '$name')")) {
   echo "Falló la creación del usuario: (" . $mysqli->errno . ") " . $mysqli->error;exit;
}
}

// Mostrar los registros

$cons = $mysqli->query ( "SELECT * FROM usuarios ");
while($row=mysqli_fetch_row($cons)){
echo $row[1]."<br>";
}

?>


Reacciones:

0 comentarios: