<?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; clase</title>
	<atom:link href="http://geoks.com.ar/blog/archives/tag/clase/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>
	</channel>
</rss>

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