CONEXIÓN ORACLE A PHP:
Funciones básicas a usar:
· oci_connect("usuario","clave",
"SID oracle"): establece la conexión con el servidor oracle.
Devuelve el descriptor de conexión. Si
la base de datos no es local se pone delante del SID la IP
'172.16.1.2/ORACLE9I'.
· oci_close($conexion): Cierra
la conexión.
· oci_error(): devuelve el
último error encontrado.
· oci_parse($conexion, $sentencia):
prepara una sentencia para su ejecución.
· oci_execute($sentencia):
ejecuta una sentencia.
· oci_fetch_array($sentencia,
OCI_ASSOC): devuelve la siguiente fila de resultados como una
matriz cuyo índice es el nombre de la
columna. Ejemplo:
$query = "SELECT id, name, sal FROM fruits";
$s = oci_parse ($connection, $query);
oci_execute ($s);
while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
echo
$row['ID']."<br>";
echo
$row['NAME']."<br>";
echo
$row['SAL']."<br>";
}
oci_fetch_array($sentencia,
OCI_NUM):
devuelve la siguiente fila de resultados como una
matriz cuyo índice coincide con la
posición de la columna a la derecha de la SELECT. Ejemplo:
$query = "SELECT id, name, sal FROM fruits";
$s = oci_parse($connection, $query);
oci_execute ($s);
while ($row = oci_fetch_array($s, OCI_NUM)) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row[2]."<br>";
}
· oci_num_rows($sentencia):
devuelve el número de filas afectadas por el último INSERT,
UPDATE o DELETE.
<?php
$conexion = oci_connect("system","oracle","xe");
if (!$conexion)
{
$e = oci_error();
echo "HA ocurrido
un error: " . htmlentities($e['message']);
exit();
}
$query = "SELECT
* FROM EMPLE ";//NO PONER ; EN SENTENCIA SQL
$s = oci_parse($conexion
, $query );
oci_execute($s);
$i =0;
while ($res= oci_fetch_array($s, OCI_ASSOC))
{
echo $res['EMP_NO']
. "*" . $res['APELLIDO'] . "*" . $res['OFICIO']
. "*" . $res['SALARIO'];
echo
"<br/>"; //salto linea
$i= $i+1;
} // fin while
oci_close($conexion);
?>
INSERCIÓN
DE UNA FILA EN EMPLE, BORRADO DE FILAS Y USO DE UNA FUNCIÓN PARA LISTAR
EMPLEADOS:
<?php
function listar_emple($dep) {
$conexion =
oci_connect("system","oracle",'xe');
$query = "SELECT * FROM EMPLE WHERE DEPT_NO=
$dep";//NO PONER ; EN SENTENCIA SQL
$s = oci_parse($conexion , $query );
oci_execute($s);
$i =0;
while ($res= oci_fetch_array($s, OCI_ASSOC))
{
echo $res['EMP_NO'] .
"*" . $res['APELLIDO'] . "*" . $res['OFICIO']
. "*" .
$res['SALARIO'] ;
echo
"<br/>";
$i= $i+1;
} // fin while
echo "<hr/>";
}//fin
de la función de listado
//INSERCION DE DATOS
EN EMPLE
$conexion = oci_connect("system","oracle",'xe');
$E =1236;
$APE='LOPEZ';
$D=10;
$OFI='EMPLEADO';
$SAL=1500;
$query
= "INSERT INTO EMPLE (EMP_NO,APELLIDO, OFICIO, SALARIO,DEPT_NO) VALUES
($E, '$APE',
'$OFI',
$SAL, $D) ";
$s =
oci_parse($conexion , $query );
oci_execute($s);
$numero=oci_num_rows($s);
echo "Filas
insertadas: " . $numero . "<br/><hr/>";
//ELIMINACION DE EMPLE
$E =1236; //empleado a
borrar
$query = "DELETE EMPLE WHERE EMP_NO = $E ";
$s =
oci_parse($conexion , $query );
oci_execute($s);
$numero=oci_num_rows($s);
echo "Filas
eliminadas: " . $numero . "<br/><hr/>";
listar_emple($D);
//llamada a la función
oci_close($conexion);
Conexión con bases de datos
PostgreSQL
Para establecer
la conexión con una base de datos PostgreSQL desde PHP, se utiliza la función:
pg_connect("host=NombreHost
dbname=BaseDatos user=Usuario password=Contraseña")
Cuyos parámetros, pasados como una cadena única,
indican el nombre del servidor -o IP del mismo- ‘NombreHost’ donde se encuentra
la base de datos, el nombre de la base de datos ‘BaseDatos’, el ‘Usuario’ de
acceso a la base de datos, y la ‘Contraseña’ de acceso. En caso de éxito la
función devuelve un identificador del enlace con el sistema de bases de datos.
A diferencia de MySQL, no es preciso indicar con otra
función la base de datos a la que se desea acceder, ya que se ha facilitado
como parámetro a la función de conexión.
Finalmente, para cerrar la conexión utilizamos:
pg_close($conexion)
Donde debemos pasarle como parámetro el enlace con la
conexión inicialmente establecida.
Ejemplo:
<?php
#Conectamos
con PostgreSQL
$conexion =
pg_connect("host=192.168.0.3 dbname=BaseDatos user=Usuario
password=Contraseña") or
die
("Fallo en el establecimiento de la conexión");
#
################################### # #
Aquí
insertaríamos las consultas sobre la base de datos
# #
################################### # #
Cerramos la
conexión con la base de datos pg_close($conexion); ?>
Conectando PHP y MySQL
Para la conexión
utilizaremos la función mysql_connect y luego mysql_select_db el cual nos
permite definir a que base de datos del servidor deseamos conectarnos.
$conexion = mysql_connect("localhost", "usuario",
"clave");mysql_select_db("demo",
$conexion);
Obteniendo registros de la Base de
Datos
Una vez que tenemos una
conexión lo siguiente es extraer los datos, esto lo hacemos enviando consultas
SQL mediante la función mysql_query. También obtenemos el numero total de
registros devueltos por nuestra consulta.
$queEmp = "SELECT * FROM empresa ORDER BY nombre ASC";$resEmp =
mysql_query($queEmp, $conexion) or die(mysql_error());$totEmp =
mysql_num_rows($resEmp);
Mostrando los resultados
Finalmente mostramos los
resultados obtenidos de nuestra consulta, para ello extraemos cada resultado
utilizando la función mysql_fetch_assoc la cual devuelve una matriz asociativa
utilizando los nombres de los campos de la tabla.
if ($totEmp> 0) { while ($rowEmp =
mysql_fetch_assoc($resEmp)) { echo
"<strong>".$rowEmp['nombre']."</strong><br>"; echo
"Direccion:
".$rowEmp['direccion']."<br>";
echo "Telefono:
".$rowEmp['telefono']."<br><br>"; }}
Primero se verifica si
existen resultados y luego en cada pasada de la sentencia While si existe el
siguiente resultado para luego mostrarlo. Así como realizar la consulta de registros, podemos insertar,
editar y eliminar registros enviando sentencias SQL a la base de datos.