PHP – Clase PDO para conectar a diferentes servidores de base de datos

Hola,

Hoy os traigo una librería desarrollada en PHP que permite la conexión a diferentes servidores de base de datos mediante PDO, por ahora están incluido los siguientes:

  • MySQL
  • Microsoft SQL Server
  • SQLite 2
  • ODBC
  • Oracle

La librería la podéis descargar de GitHub, exactamente desde aquí, en ella tenemos dos ficheros que nos interesan:

  1. cbPDO.class.php: Librería para la conexión con la base de datos.
  2. configBD.php: Aquí van la definición del tipo de base de datos, datos del servidor y de la conexión

Tambíen encontraréis un ejemplo para ver como funciona dicha librería, aunque os lo explico aqui tambien.

Pasos para utilizar la libería:

1. Modificamos el fichero configBD.php con los datos de nuestro servidor

define("DB_TYPE", "mysql");
define("DB_SERVER", "localhost");
define("DB_PORT", "3306");
define("DB_USER","root");
define("DB_PWD", "root");
define("DB_NAME", "cbTests");

2. Referenciamos la librería

require_once "cbPDO.class.php";

3. Hacemos una query bindeando los datos  para evitar ataques de seguridad (SQL Injection y similar). En caso de no tener que pasar datos de consulta usaremos null.

$sSQL = "SELECT id, name, es, en FROM languages WHERE name=:name AND en=:english";
$aValues = array("name"=>"OK", "english"=>"OK");
$aLan = $cbPDO->query($sSQL,$aValues);

4. Ahora ya tenemos los datos en el aray aLan, podemos trabajar como queramos con ellos, en este caso los muestros por pantalla

<table border="1">
<tr><th>ID</th><th>Name</th><th>Spanish</th><th>English</th></tr>
<?php
for ($i=0;$i<count($aLan);$i++) {
     echo "<tr>";
          echo "<td>" . $aLan[$i]["id"] . "</td>";
          echo "<td>" . $aLan[$i]["name"] . "</td>";
          echo "<td>" . utf8_encode($aLan[$i]["es"]) . "</td>";
          echo "<td>" . $aLan[$i]["en"] . "</td>";
     echo "</tr>";
}
?>
</table>

 

About: cbrown


2 thoughts on “PHP – Clase PDO para conectar a diferentes servidores de base de datos”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies