Temas etiquetados como: ‘mysql’

Convertir archivos XML a SQL

10 Diciembre, 2009

Vuelvo a la carga con un breve post hablando sobre una herramienta bastante útil que hoy encontré por delicious llamada AmoK xml2sql.

Este pequeño programa que no llega a los 500k y que se ejecuta por línea de comandos convierte fácilmente archivos XML en archivos SQL, un caso práctico podría ser si tenemos un XML con un listado de productos que queremos importar a nuestra base de datos.

Su uso es bastante sencillo, desde “cmd” ejecutamos…

C:\am-xml2sql.v1.0_an>xml2sql.exe productos.xml productos.sql

y nos creará en la misma carpeta el archivo productos.sql con todo los inserts, yo tuve un par de problemillas de fácil solución principalmente con las comillas simples ‘ , pero haciendo un replace en el xml y cambiando todas las comillas simples por dobles se soluciona.

Restaurar un Mysql Backup con php

5 Septiembre, 2009

Escribo un post rápido sobre algo tan sencillo que ni se me había pasado por la cabeza, acostumbrado al acceso shell y el uso de mysqldump. Hace poco un amigo me comentaba el problema que tuvo al subir a un servidor un sql porque no tenía acceso shell para hacer mysqldump y tuvo que dividir el sql en varias partes para su uso en PhpMyAdmin…

Pero hay una solución más sencilla y mucho más rapida, que podemos encontrar en el blog de Daniel15

<?php
/*
 * Restore MySQL dump using PHP
 * (c) 2006 Daniel15
 * Last Update: 9th December 2006
 * Version: 0.2
 * Edited: Cleaned up the code a bit.
 *
 * Please feel free to use any part of this, but please give me some credit :-)
 */

// Name of the file
$filename = 'test.sql';
// MySQL host
$mysql_host = 'localhost';
// MySQL username
$mysql_username = 'root';
// MySQL password
$mysql_password = '';
// Database name
$mysql_database = 'test';

//////////////////////////////////////////////////////////////////////////////////////////////

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
	// Skip it if it's a comment
	if (substr($line, 0, 2) == '--' || $line == '')
		continue;

	// Add this line to the current segment
	$templine .= $line;
	// If it has a semicolon at the end, it's the end of the query
	if (substr(trim($line), -1, 1) == ';')
	{
		// Perform the query
		mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
		// Reset temp variable to empty
		$templine = '';
	}
}

?>