<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de German &#187; MySQL</title>
	<atom:link href="http://geoks.com.ar/blog/archives/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://geoks.com.ar/blog</link>
	<description>SL = SL (Software Libre = Software Legal)</description>
	<lastBuildDate>Thu, 13 May 2010 14:07:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clase PHP para Conectar a MySQL (mas que facil es simple)</title>
		<link>http://geoks.com.ar/blog/archives/German/clase-php-para-conectar-a-mysql-mas-que-facil-es-simple</link>
		<comments>http://geoks.com.ar/blog/archives/German/clase-php-para-conectar-a-mysql-mas-que-facil-es-simple#comments</comments>
		<pubDate>Thu, 17 Dec 2009 14:57:24 +0000</pubDate>
		<dc:creator>German</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[clase]]></category>
		<category><![CDATA[conectar]]></category>
		<category><![CDATA[facil]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://geoks.com.ar/blog/?p=553</guid>
		<description><![CDATA[Hola a todos, tanto tiempo que no publicaba algo hoy les quiero dejar una clase que acabo de hacer es muy simple y facil de usar, sirve para:

Conectar a una base de datos
Si hubo un error podemos saberlo mediante un metodo
Contar resultados ejecutados
Contar resultados de una tabla con una condición o ninguna
Agregar datos mediante un [...]]]></description>
			<content:encoded><![CDATA[<p>Hola a todos, tanto tiempo que no publicaba algo hoy les quiero dejar una clase que acabo de hacer es muy simple y facil de usar, sirve para:</p>
<ul>
<li>Conectar a una base de datos</li>
<li>Si hubo un error podemos saberlo mediante un metodo</li>
<li>Contar resultados ejecutados</li>
<li>Contar resultados de una tabla con una condición o ninguna</li>
<li>Agregar datos mediante un simple metodo que se le pasa un arreglo</li>
<li>Borrar datos pasandole como referencia la tabla, una condición (puede ser nula) y el limite de resultados a borrar (Si es 0 borra todo)</li>
<li>Editar datos: Edita X datos de cierta tabla, se le puede pasar la condición a borrar y el limite.</li>
<li>Obtener un arreglo de datos de una tabla.</li>
<li>Obtener un arreglo de cualquier dato mediante query de SQL</li>
</ul>
<p>El código de la clase es el siguiente pero abajo les dejo un link para bajarlo directamente:</p>
<blockquote><p>
<?php</p>
<p>	/* </p>
<p>    * mysql_db: Constructor recibe como parametros</p>
<p>    *    *El host de la base de datos</p>
<p>    *    *El user de la base de datos</p>
<p>    *    *La password de la base de datos</p>
<p>    *    *La base de datos a conectar </p>
<p>    * </p>
<p>    * Metodos:</p>
<p>    *    open() conecta con la base de datos y devuelve falso si no</p>
<p>    *    get_error() obtiene el error de la coneccion</p>
<p>    *    query() ejecuta cualquier query de base de datos y luego se deben procesar</p>
<p>    *    last_id() Obtiene el ultimo id que fue procesado por la clase</p>
<p>    *    num_rows() obtiene la cantidad de resultados que fueron procesadas por la clase</p>
<p>    *    count($tabla, $cond = '') Cuenta todos los resultados de una tabla y con x Condicion (puede ser nulo)</p>
<p>    *    get_array($tabla, $datos = '*', $cond = '') Obtiene un arreglo de datos (se pueden elegir) de una tabla y con x Condicion</p>
<p>   **    get_array_query($query) Obtiene un arreglo de cualquier consulta SQL</p>
<p>   *     delete($tabla , $cond = '', $limit = '1') Elimina x Datos (Por defecto 1) de una tabla con X condicion (puede ser nulo)</p>
<p>         add($tabla, &#038;$datos, $nomb_id = 'id'){ //agrega datos en una tabla recibiendo un arreglo de datos (las keys tienen que tener el mismo nombre que los campos de la tabla</p>
<p>      Ademas se le tiene que pasar el nombre del campo del ID</p>
<p>      * </p>
<p>      * edit($tabla, &#038;$datos, $cond, $limit = 1) Edita x Datos si se establece la condicion</p>
<p>      * recibe un arreglo de datos</p>
<p>      * un ejemplo de cond es 'id = 1' edita el arreglo de datos donde el id = 1</p>
<p>    */</p>
<p>define('DB_NO_LINK', 0);</p>
<p>define('DB_NO_DB', 1);</p>
<p>define('DB_NO_Q_RESULT', 2);</p>
<p>define('DB_NO_Q_ROWS', 3);</p>
<p>class mysql_db{</p>
<p>	var $errtype;</p>
<p>	var $errstr;</p>
<p>	var $host;</p>
<p>	var $user;</p>
<p>	var $pass;</p>
<p>	var $link;</p>
<p>	var $database;</p>
<p>   var $result;</p>
<p>	function mysql_db($host,$user,$pass,$database){</p>
<p>		/* Set error properties to initial values. */</p>
<p>		$this->errtype = false;</p>
<p>		$this->errstr = &#8221;;</p>
<p>		$this->host = $host;</p>
<p>		$this->user = $user;</p>
<p>		$this->pass = $pass;</p>
<p>		$this->database = $database;</p>
<p>      $this->result = NULL;</p>
<p>	}</p>
<p>	function open(){</p>
<p>		$this->link = mysql_connect($this->host,$this->user,$this->pass);</p>
<p>		if(!$this->link){</p>
<p>			$this->errtype = DB_NO_LINK;</p>
<p>			$this->errstr = &#8216;Connection failed for host: &#8216; . $this->host;</p>
<p>			return false;</p>
<p>		}</p>
<p>		if(!mysql_select_db($this->database, $this->link)){</p>
<p>			$this->errtype = DB_NO_DB;</p>
<p>			$this->errstr = mysql_error($this->link);</p>
<p>			return false;</p>
<p>		}</p>
<p>		return true;</p>
<p>	}</p>
<p>	function query($sql){ // INICIO METODO</p>
<p>		/* Determinamos que tipo de consulta es */</p>
<p>		if(eregi(&#8220;^delete&#8221;, $sql) || eregi(&#8220;^insert&#8221;, $sql) || eregi(&#8220;^update&#8221;, $sql)){</p>
<p>			$qtype = &#8216;a&#8217;;</p>
<p>		}</p>
<p>		elseif(eregi(&#8220;^select&#8221;, $sql)){</p>
<p>			$qtype = &#8216;n&#8217;;</p>
<p>		}</p>
<p>		/* Sabemos cuando la consulta falla o cuando no*/</p>
<p>		$result = mysql_query($sql, $this->link);</p>
<p>		if(!$result){</p>
<p>			$this->errtype = DB_NO_Q_RESULT;</p>
<p>			$this->errstr = mysql_error($this->link);</p>
<p>			return false;</p>
<p>		}</p>
<p>		/* Checkeamos por filas afectadas */</p>
<p>		if($qtype == &#8216;n&#8217;){</p>
<p>			if(mysql_num_rows($result) == 0){</p>
<p>				$this->errtype = DB_NO_Q_ROWS;</p>
<p>				$this->errstr = &#8216;NO se seleccionaron las filas&#8217;;</p>
<p>				return false;</p>
<p>			}</p>
<p>		}</p>
<p>		elseif($qtype == &#8216;a&#8217;){</p>
<p>			if(mysql_affected_rows($this->link) <= 0){</p>
<p>				$this->errtype = DB_NO_Q_ROWS;</p>
<p>				$this->errstr = &#8216;No se afectaron las filas.&#8217;;</p>
<p>				return false;</p>
<p>			}</p>
<p>		}</p>
<p>      $this->result = $result;</p>
<p>		return $this->result;</p>
<p>   } // FIN METODO query</p>
<p>	function last_id(){</p>
<p>		$id = mysql_insert_id($this->link);</p>
<p>		return $id;</p>
<p>	}</p>
<p>   function num_rows(){</p>
<p>      $num_rows = mysql_num_rows($this->result);</p>
<p>      return $num_rows;</p>
<p>   }</p>
<p>   function count($tabla, $cond = &#8221;){</p>
<p>         if ($cond) {</p>
<p>               $cond = &#8216;WHERE&#8217;.&#8217; &#8216;.$cond;</p>
<p>         }</p>
<p>         $this->query(&#8220;SELECT COUNT( * ) AS count FROM $tabla $cond &#8221; );</p>
<p>         return mysql_result( $this->result, 0 );</p>
<p>   }</p>
<p>   /*Get Array Obtiene un arreglo de datos desde una tabla, los datos que quieras</p>
<p>    * y la condicion que quieras</p>
<p>    **/</p>
<p>   function get_array($tabla, $datos = &#8216;*&#8217;, $cond = &#8221;) { </p>
<p>         if ($cond) {</p>
<p>            $cond = &#8216;WHERE&#8217;.&#8217; &#8216;.$cond;</p>
<p>         }</p>
<p>         $this->query(&#8220;SELECT $datos FROM $tabla $cond&#8221;);</p>
<p>         $rows = array();</p>
<p>    	   while($row = mysql_fetch_assoc($this->result)){</p>
<p>				$rows[] = $row;</p>
<p>		   }</p>
<p>		   return $rows;</p>
<p>   } //Fin Get_Array</p>
<p>      function get_array_query($query) { // OBTIENE UN ARREGLO CON CUALQUIER CONSULTA</p>
<p>         $this->query($query);</p>
<p>         $rows = array();</p>
<p>    	   while($row = mysql_fetch_assoc($this->result)){</p>
<p>				$rows[] = $row;</p>
<p>		   }</p>
<p>		   return $rows;</p>
<p>   } //Fin Get_Array</p>
<p>   function delete($tabla , $cond = &#8221;, $limit = &#8216;1&#8242;){ // Metodo Delete</p>
<p>      if ($limit == 0) $limit = &#8221;;</p>
<p>      else $limit = &#8220;LIMIT $limit&#8221;;</p>
<p>      if ($cond) {</p>
<p>         $cond = &#8216;WHERE&#8217;.&#8217; &#8216;.$cond;</p>
<p>      }</p>
<p>      $sql = &#8220;DELETE FROM $tabla $cond $limit&#8221;;</p>
<p>      return $this->query($sql); </p>
<p>   } // Fin metodo delete</p>
<p>   function add($tabla, &#038;$datos, $nomb_id = &#8216;id&#8217;){ //agrega datos en una tabla</p>
<p>      $donde = &#8220;`$nomb_id` &#8220;;</p>
<p>      $valor = &#8216;NULL&#8217;;</p>
<p>      foreach ($datos as $key => $value) {</p>
<p>            $donde .= &#8220;, `$key` &#8220;;</p>
<p>            $valor .= &#8220;, &#8216;$value&#8217;&#8221;;</p>
<p>      }</p>
<p>      return $this->query(&#8220;INSERT INTO $tabla ($donde) VALUES ($valor);&#8221;);</p>
<p>   }// Fin agregar</p>
<p>   function edit($tabla, &#038;$datos, $cond, $limit = 1){</p>
<p>      foreach ($datos as $key => $value) {</p>
<p>         if(!empty($value))</p>
<p>            $donde .= &#8220;`$key` = &#8216;$value&#8217; ,&#8221;;</p>
<p>      } </p>
<p>      if ($limit == 0) $limit = &#8221;;</p>
<p>      else $limit = &#8220;LIMIT $limit&#8221;; </p>
<p>      $donde = substr($donde, 0, strlen($donde)-1);</p>
<p>      $sql = &#8220;UPDATE `$tabla` SET $donde WHERE $cond $limit;&#8221;;</p>
<p>      return $this->query($sql);</p>
<p>   }</p>
<p>	function close(){</p>
<p>		mysql_close($this->link);</p>
<p>	}</p>
<p>   function get_error() {</p>
<p>         return $this->errstr;</p>
<p>   }</p>
<p>}</p>
<p>?></p>
</blockquote>
<p>Más adelante les dejo un par de ejemplos.</p>
<p>Pueden bajarla desde aqui: <a href="http://geoks.com.ar/blog/wp-content/uploads/class_db.php.zip">http://geoks.com.ar/blog/wp-content/uploads/class_db.php.zip</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fgeoks.com.ar%2Fblog%2Farchives%2FGerman%2Fclase-php-para-conectar-a-mysql-mas-que-facil-es-simple&amp;linkname=Clase%20PHP%20para%20Conectar%20a%20MySQL%20%28mas%20que%20facil%20es%20simple%29">Compartir/Guardar</a>]]></content:encoded>
			<wfw:commentRss>http://geoks.com.ar/blog/archives/German/clase-php-para-conectar-a-mysql-mas-que-facil-es-simple/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Usar MySQL via SSH</title>
		<link>http://geoks.com.ar/blog/archives/German/usar-mysql-via-ssh</link>
		<comments>http://geoks.com.ar/blog/archives/German/usar-mysql-via-ssh#comments</comments>
		<pubDate>Fri, 22 May 2009 17:45:36 +0000</pubDate>
		<dc:creator>German</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://geoks.com.ar/blog/?p=315</guid>
		<description><![CDATA[
Hola a todos, este post se debe porque hay veces que queremos actualizar, hacer backups o restaurar backups de base de datos muy grandes y con herramientas como el phpmyadmin no se pueden realizar por el tamañano de la misma.
Les voy a pasar un par de tips de como usar MySQL via consola.

Por ejemplo si [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img269.imageshack.us/img269/1493/puttylogo.png" alt="ssh mysql" style="float:left; padding-right:7px;" /><br />
Hola a todos, este post se debe porque hay veces que queremos actualizar, hacer backups o restaurar backups de base de datos muy grandes y con herramientas como el phpmyadmin no se pueden realizar por el tamañano de la misma.</p>
<p>Les voy a pasar un par de tips de como usar MySQL via consola.</p>
<p><span id="more-315"></span></p>
<p>Por ejemplo si queremos actualizar o restaurar una base de datos pesada, lo que tenemos que hacer es subir el archivo &#8220;database.sql&#8221; ( database es solo un nombre de ejemplo, obviamente van a usar el nombre de su archivo ) via FTP a un directorio que quieran (les recomiendo borrarlo despues de realizar la operación o no incluirlo en el directorio /public_html o /www  por razones de seguridad ).</p>
<p>Luego conectarnos via ssh al servidor y ejecutar el siguiente comando.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql <span style="color: #660033;">-u</span> usuario <span style="color: #660033;">-p</span> nombre_de_base_de_datos <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #000000; font-weight: bold;">/</span>directorio<span style="color: #000000; font-weight: bold;">/</span>database.sql</div></div>
<p>Luego de presionar enter, les va a pedir la contraseña de la base de datos y listo, se ha actualizado o subido su base de datos.</p>
<p>Ahora bien, a medida de que vayamos trabajando con nuestro sitio o cargando nuevos datos y los queremos respaldar por medidas de seguridad lo que vamos a necesitar es hacer un respaldo de eso. Para hacerlo via consola solo basta tipear:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqldump <span style="color: #660033;">-u</span> tu_usuario <span style="color: #660033;">-p</span> password_DB nombre_de_base_de_datos <span style="color: #000000; font-weight: bold;">&gt;</span> archivo_backup.sql</div></div>
<p>Si queremos comprimirla para poder bajarla de manera más comoda podemos usar el comando *.nix de la siguiente manera.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-9</span> archivo_backup.sql</div></div>
<p>Esto nos generará un archivo *.gz. Para descomprimirlo solo basta ejecutar:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-d</span> archivo_backup.gz</div></div>
<p>Ya finalizamos con el tema del backup y ahora les doy un par de tips para poder manejarse dentro de la consola.</p>
<p><b>TIP UNO * Acceder al prompt de mysql</b></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql <span style="color: #660033;">--user</span>=nombre_usuario_db <span style="color: #660033;">--password</span>=clave_de_base_de_datos</div></div>
<p><b>TIP DOS * Ver base de datos disponibles</b></p>
<p>Una vez dentro del prompt de MySQL vamos a ver algo como &#8220;$mysql > y aca vamos a poder escribir los comandos &#8221;</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #007800;">$mysql</span> <span style="color: #000000; font-weight: bold;">&gt;</span> show databases;</div></div>
<p>Y la salida es:</p>
<blockquote><p>
+——————–+</p>
<p>| Database           |</p>
<p>+——————–+</p>
<p>| information_schema |</p>
<p>| mysql              |</p>
<p>| test               |</p>
<p>+——————–+
</p></blockquote>
<p><b>TIP TRES * Ver tablas de una base de datos.</b></p>
<p>Si queremos ver las tablas solo debemos ejecutar el comando:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">$mysql</span><span style="color: #000000; font-weight: bold;">&gt;</span> use base_de_datos;</div></div>
<p>Por ejemplo si queremos ver las tablas de &#8220;test&#8221; solo debemos escribir <i>&#8220;use test;&#8221;</i></p>
<p><b>TIP CUATRO * Mostrar el contenido de las tablas</b></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">$mysql</span><span style="color: #000000; font-weight: bold;">&gt;</span> show tables;</div></div>
<p>Y su salida va a ser:</p>
<blockquote><p>
+—————————+</p>
<p>| Tables_in_test           |</p>
<p>+—————————+</p>
<p>| columns_priv              |</p>
<p>| db2                       |</p>
<p>| function                  |</p>
<p>| post_category             |</p>
<p>| help_keyword              |</p>
<p>| help_relation             |</p>
<p>| help_topic                |</p>
<p>| hosted                    |</p>
<p>| proccess                 |</p>
<p>| procs_auth               |</p>
<p>| usuarios                 |</p>
<p>+—————————+</p>
<p>11 rows in set (0.00 sec)</p></blockquote>
<p>Esto es todo por ahora Saludos.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fgeoks.com.ar%2Fblog%2Farchives%2FGerman%2Fusar-mysql-via-ssh&amp;linkname=Usar%20MySQL%20via%20SSH">Compartir/Guardar</a>]]></content:encoded>
			<wfw:commentRss>http://geoks.com.ar/blog/archives/German/usar-mysql-via-ssh/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.708 seconds -->
