Introducción

Todos los que nos hemos enfrentado con el diseño de páginas Web hemos echado de menos un poco más de dinamismo en ellas.
Representar una página repleta de gráficos y nada más, deja de ser suficiente para ciertas aplicaciones en Internet. Estas aplicaciones requieren de cierta interactividad con el usuario, y han sido muchas las tecnologías aplicadas a este fin (formularios, CGI, etc.).

Ahora está disponible la versión 3 de PHP, o la versión 4 no definitiva, Profesional Home Pages, la solución para la construcción de Webs con independencia de la Base de Datos y del servidor Web, válida para cualquier plataforma. El objetivo final es conseguir la integración de las paginas HTML con aplicaciones que corran en el servidor como procesos integrados en el mismo, y no como un proceso separado, como ocurría con los CGIs. Igualmente interesa que dichas aplicaciones sean totalmente independientes del navegador (lo que no ocurría con otros lenguajes basados en scripts, como JavaScript o VisualBasic Script), independientes de la plataforma y de la Base de Datos.

Perl ha sido el lenguaje que ha servido como estándar para construir CGIs durante mucho tiempo, y aún sigue siendo una de las mejores soluciones para desarrollar aplicaciones Web portables, ya que trabaja sobre cualquier servidor Web que soporte CGIs, y sobre cualquier plataforma que soporte Perl, que son la mayoría, incluso ha servido para desarrollar módulos que extienden la funcionalidad de los servidores. Pero nada tiene que envidiar PHP. PHP, está más orientado a conexiones entre páginas Web y servidores donde se almacenan toda clase de Bases de Datos.

Soporta un único "Safe Mode", es decir, un mecanismo de seguridad que permite que varios usuarios estén corriendo scripts PHP sobre el mismo servidor. Este mecanismo está basado en un esquema de permisos de ficheros, permitiendo el acceso a aquellos ficheros que son apropiados por el mismo identificador de usuario que el del script que está intentando acceder a ese fichero, o bien cuando el fichero está en el directorio que es propiedad del mismo identificador de usuario que el del script que está intentando acceder.

PHP es un lenguaje de programación soportado por HTML. La sintaxis está heredada de C, Java y Perl. Este lenguaje está orientado para los constructores de páginas Webs, permitiendoles crear páginas dinámicamente generadas de forma rápida.

¿Qué es PHP?

Oficialmente, PHP es un preprocesador de hipertextos, pero ¿qué significa?.

Para ilustrar esto podemos ver un simple ejemplo:

<html>
   <head>
     <title>Example</title>
   </head>
   <body>
     <?php echo "Hi, Esto es un Script PHP";?>
   </body>
</html>

Esto es muy parecido a cualquier otro Script escrito en Perl o C. El código de PHP está incluido en tags especiales "<?,?>".

Lo que hace diferente a PHP es que el código que se deba ejecutar se ejecuta siempre en el servidor.

Así, al ejecutar el script anterior, el cliente recibirá sólo los resultados de la ejecución por lo que es imposible para el cliente acceder al código que generó la página.

¿Qué se puede hacer con PHP?

En el nivel más básico PHP es equiparable a un CGI cualquiera. La mayor fuerza de PHP es que está preparado para soportar accesos a muchos tipos de bases de datos como:

  1. Adabas D
  2. dBase
  3. Empress
  4. FiclePro
  5. informix
  6. InterBase
  7. Solid
  8. Sybase
  9. Velocis
  10. Unix dbm
  11. mSQL
  12. MySQL
  13. Oracle
  14. PosgreSQL

Además de esto, PHP soporta la utilización de otros protocolos como IMAP, SNMP, NNTP, POP3 o HTTP a nivel de socket.

Algo de Historia

PHP fue creado por Rasmus Lerdorf a finales de 1994, aunque no hubo una versión utilizable por otros usuarios hasta principios de 1995. Esta primera versión se llamó, Personal Home Page Tools.

Al principio, PHP sólo estaba compuesto por algunas macros que facilitaban el trabajo a la hora de crear una página Web. Hacia mediados de 1995 se creo el analizador sintáctico y se llamó PHP/F1 Versión 2, y sólo reconocía el texto HTML y algunas directivas de mSQL. A partir de este momento, la contribución al código fue pública.

El crecimiento de PHP desde entonces ha sido exponencial, y han surgido versiones nuevas como la actual, PHP3 y la incipiente PHP4.

Seguridad y PHP

PHP es un interprete que puede ser incluido en un servidor Web como un módulo o como un CGI binario.
Con él se pueden realizar accesos a ficheros, conexiones de red, etc. PHP está diseñado para ser más seguro que cualquier otro lenguaje de programación de CGIs, como Perl o C.

CGI binario

Este método lo que hace es instalar PHP en el directorio cgi-bin. Esto permite a PHP reaccionar ante diversos tipos de ataques.

Por ejemplo, si accedemos al sistema de ficheros mediante la línea:

  http://my.host/cgi-bin/php?/etc/passwd

En http, todo lo que se pase detrás del símbolo ? es la línea de argumentos que el interfaz CGI interpreta. Curiosamente, si a un sistema Linux, le pasas la instrucción /etc/passwd, el sistema intenta ejecutar este comando y esto puede ser un fallo en la seguridad.

Otro posible ataque, intenta acceder a los ficheros del servidor web a los que no se debe tener acceso. Para evitar esto, existen opciones de configuración que redirigen todas las peticiones al intérprete de PHP forzando un chequeo de acceso al fichero que se pide.

Algunas de estas opciones de seguridad son:

Módulo

En el caso de tener PHP instalado como un módulo del servidor Apache, este hereda todas las características del servidor.Esta opción es la menos utilizada.

Lenguaje PHP

Bases de la Sintaxis

Inserción de PHP en HTML

Separación de instrucciones

Las instrucciones se separan con ';', en el caso de ser la última instrucción no es necesario el punto y coma.

Comentarios

Los comentarios en PHP pueden ser:

Tipos de Datos

Los tipos de cada variable en PHP no están tan claros como en C. El intérprete asigna el tipo de una variable según el uso que se esté haciendo de ella. Para asignar un tipo fijo a una variable se utiliza la función settype(). Los tipos son:

Respecto al tipo entero y flotante, no hay mucho que decir, así que detallaremos sólo los tipos String, Arrays, Objetos y Juggling.

String

Las cadenas pueden estar delimitadas por " o '. Si la cadena está delimitada por comillas dobles, cualquier variable incluida dentro de ella será sustituida por su valor. Para especificar el carácter " se escapará con el carácter backslash. Otra forma de delimitar una cadena es utilizando la sintaxis de documentos "<<<" Ejemplo:

  $variable = <<< EOD
  Ejemplo de cadena
  que ocupa
  varias líneas
  EOD;

Esta última sintaxis sólo se puede utilizar con PHP 4. Las operaciones con cadenas son exactamente igual que en PERL.

Arrays

Los Arrays en PHP se pueden utlizar tanto como Arrays indexados o como Arrays asociativos. Los Arrays de una sola dirección, pueden ser tanto escalares como asociativos. En realidad no existen ninguna diferencia entre ellos. Las funciones que se utilizan para crear Arrays de este tipo son list() o array() . En el caso de que no se especifique el indice en un array, el elemento que se asigna se añade al final.

Ejemplo:

  $a[]="hola"

La instrucción anterior añade el string hola al final del array 'a'. Los arrays pueden ser ordenados utilizando las siguientes funciones: asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort() y uksort() .

Otras funciones para el manejo de arrays son: count(), next(), prev() y each() .

En PHP, los arrays multidimensionales combinan las propiedades de un array unidimensional explicados anteriormente. Los indices de un array multidimensional pueden ser tanto numéricos como asociativos.

(Nota: hay que tener cuidado con la sintaxis de los arrays multidimensionales asociativos incluidos dentro de una cadena).

Ejemplo de array multidimensional asociativo:

  $a=array(
     "manzana" => array("color" => "rojo", "tacto" => "suave"),
     "naranja" => array("color" => "naranja", "tacto" => "rugoso"),
     "platano" => array("color" => "amarillo", "tacto" => "suave")
  );

Objetos

Para inicializar un objeto se utiliza el método new , y para acceder a cada uno de sus métodos se utiliza el operador -> .

Juggling

Una variable en PHP, define su tipo según el contenido y el contexto en el que se utilice, es decir, si se asigna una cadena a una variable, el tipo de esa variable será string . Si a esa misma variable se el asigna un número, el tipo cambiará a entero . Para asegurarte de que una variable es del tipo adecuado se utiliza la función settype() . Para obtener el tipo de una variable se utiliza la función gettype() . También es posible utilizar el mecanismo del casting tal y como se utiliza en C.

Variables

Las variables en PHP mantienen una serie de caracteristicas referentes a:

Conceptos básicos

Los conceptos a tener en cuenta en PHP con las variables son los siguientes:

Variables predefinidas

En PHP cada vez que se ejecuta un script, existen variables que se crean y que nos pueden informar del entorno en el que se está ejecutando dicho script.

Para obtener una lista de todas estas variables predefinidas se puede utilizar la funcion phinfo().

De todas estas variables, algunas se crean dependiendo del servidor que se esté utilizando y otras son propias de PHP.

Si se tratara de un servidor Apache, la lista de variables es:

las variables creadas por el propio PHP son:

Ámbito de una Variable

El ámbito de una variable en PHP es exactamente igual que en C o en Perl tomando siempre en cuenta los ficheros incluidos al principio de cada programa.

Variables variables

PHP permite un mecanismo para mantener variables con un nombre no fijo.

Por ejemplo:

   $a = "hola";
   $$a = "mundo";

El ejemplo anterior, define dos variables, una denominada $a que contiene el valor "hola" y otra que se llama $hola que contiene el valor "mundo"

Para acceder al valor de una variable, se accede con:

  echo "$a ${$a}";

ó

  echo "$a ${$a}";

Ambas sentencias provocaran la salida "hola mundo".

Algo que se debe tener en cuenta cuando se utilizan variables, es que hay que resolver la ambiguedad que se crea al utilizar arrays de variables de este tipo. Por ejemplo $$a[1] provoca una ambiguedad para el intérprete, puesto que no sabe si se desea utilizar la variable denominada $a[1] o utilizar la variables $a indexandola en su primer valor. Para esto se utiliza una sintaxis especial que sería ${$a[1]} o ${$a}[1] según se desee una opción u otra.

Variables extenas a PHP

Variables de los forms HTML

Cuando existe un form en HTML, inmediatamente después de ser enviado, dentro del ámbito PHP se crean automáticamente una variable por cada uno de los objetos que contiene el form.

Si se activa la directiva <?php_track_vars?> o con la variable track_vars todo lo enviado por los métodos POST y GET estará en las variables $HTTP_POST_VARS y $HTTP_GET_VARS.

Cookies HTML

La función SetCookie() es una función PHP para asignar Cookies a un ordenador cliente. Esta función se debe llamar siempre antes de comenzar a crear la página puesto que debe formar parte de la cabecera de HTML.Cualquier Cookie que se envía a un cliente, se convierte dentro de PHP en una variable.

Par añadir valores a una cookie se utilizan los corchetes, [], por ejemplo:

  $count++;
  setCookie("count", $count;, time()+3600);
  SetCookie("Visita[$count]", "$valor",time()+3600);

Este ejemplo mantiene dos Cookies en el cliente. La primera mantiene el contador count y la segunda contiene una lista de los comentarios de cada una de las veces que se ha actualizado la cookie, Visita.

Variables de entorno

Las variables de entorno, tales como $HOME, para entornos Linux, se pueden utilizar desde PHP.

Constantes

Las constantes en PHP tienen que ser definidas por la función define() y además no pueden ser redefinidas con otro valor.

Además, existen una serie de variables predefinidas denominadas:

Todas las constantes que empiezan por "E_"se utilizan normalmente con la función error_reporting().

  <?php
  define("CONSTANTE", "hello world.");
  echo CONSTANTE;
  ?>

Expresiones y operadores

En PHP una expresión es cualquier cosa que pueda contener un valor. Las expresiones más simples son las variables y las constantes y otras más complicadas serán las funciones, puesto que cada función devuelve un valor al ser invocada, es decir, contiene un valor, por lo tanto, es una expresión.

Todas las expresiones en PHP son exactamente igual que en C. Los operadors abreviados, los incrementos, etc, son exactamente iguales. Incluso existen otros operadores adicionales como el operador "." que concatena valores de variables, o el operador "===" denominado operador de identidad que devolverá verdadero si las expresiones a ambos lados del operador contienen el mismo valor y a la vez son del mismo tipo. Por último, el operador "@" sirve para el control de errores. Para poder ver como funciona el operador @, veamos un ejemplo:

  <?php
  $res = @mysql_query("select nombre from clientes")
or die   ("Error en la selección, '$php_errormsg'");
  ?>

Este ejemplo, utiliza el operador @ en la llamada a mysql_query y en el caso de dar un error, se salvará el mensaje devuelto en una variable denominada php_errormsg. Esta variable contendra el mensaje de error de cada sentencia y si ocurre otro error posterior, se machaca el valor con la nueva cadena.

PHP mantiene también los operadores "'" que sirven para ejecutar un comando del sistema tal y como hace la función system() por ejemplo.

Las diferencias con C son los operadores de referencia, & y *, puesto que las operaciones por referencias no existen en PHP·, aunque si son posibles en PHP4, y que en PHP existen dos operadores and y dos operadores or que son: 'and', '&&' y 'or', '||' respectivamente, que se diferencian en la precedencia de cada uno.

La tabla que nos puede resumir la precedencia de cada uno de los operadores es:

Asocitividad

Operadores

Izquierda

,

Izquierda

or

Izquierda

xor

Izquierda

and

Derecha

print

Izquierda

= += -* *= /= .= %= &= |= ^= ~= <<= >>=

Izquierda

?:

Izquierda

||

Izquierda

&&

No posee

== != ===

No posee

< <= > >=

Izquierda

>> <<

Izquierda

+ - .

Izquierda

* / %

Derecha

! ~ ++ -- (int) (double) (string) (array) (0bject) @

Derecha

[

No posee

new

Estructuras de Control

La mejor forma de resumir cada una de las opciones que ofrece PHP para las estructuras de control es mediante una tabla:

Estructura

Alternativa

If, if else, if elseif

if: endif;

while

while: endwhile;

for

for: endfor;

do.. while

-

foreach(array as $value)
foreach(array as $key=>$value)
(PHP4 y no PHP3)

-

switch

switch: endswitch;

continue

-

break

-

require()(Necesitan estar dentro de tags PHP)

-

include()(Necesitan estar dentro de tags PHP)

-

Una nota sobre require() y include(), Si se desea incluir un fichero de forma condicional, es mejor utilizar include(), sin embargo, si la línea donde está una instrucción require() no se ejecuta, no se ejecutará nada de ese fichero. Además, si en un bucle se ejecutan varias veces una instrucción require(), el intérprete lo incluirá una sóla vez, sin embargo si es include(), se incluirá el fichero cada vez que se ejecute la instrucción. Como apunte final, debes saber que en un fichero que va a ser requerido, se puede incluir una instrucción return al final como si esta instrucción devolviera un valor (sólo en PHP3), si se trata de include, se puede poner al final del fichero una instrucción return tanto en PHP3 como en PHP4, aunque con algunas diferencias.

Así, require, reemplaza su llamada por el contenido del fichero que requiere, e include, incluye y evalua el fichero especificado.

Funciones

Funciones definidas por el usuario

Un ejemplo puede ser:

  function foo($arg1, $arg2, ..., $argN)
    {
      echo "Función ejemplo"
      return $value;
    }

Dentro de una función puede aparecer cualquier cosa, incluso otra función o definiciones de clase.

En PHP3 es necesario que una función esté declarada antes de ser referenciada, y en PHP4 esto no es necesario.

No es posible realizar sobrecarga de funciones o número variable de argumentos en PHP3 pero sí en PHP4, aunque esto se puede simular en PHP3 pasando un array de argumentos.

Respecto al paso de argumentos, son siempre pasados por valor y para pasarlos por referencia hay que indicarlo y se puede hacer de dos formas diferentes, en la definición de la función, anteponiendo el símbolo & al argumento que corresponda, en este caso la llamada será igual que la llamada a una función normal, o manteniendo la definición de la función normal y anteponer un & delante del argumento que corresponda en la llamada a la función.

PHP permite el mecanismo de argumentos por defecto. Un ejemplo de esta caracteristica es:

  function hacerCafe($tipo="capuchino")
    {
      return "he hecho un café $tipo\n";
    }

En la llamada a esta función se obtendrá una frase u otra según se llame:

  echo hacerCafe();

o

  echo hacerCafe("expreso");

En el caso de tratarse de una función con argumentos por defecto y argumentos normales, los argumentos por defecto deberán estar agrupados al final de la lista de argumentos.

En PHP4 el número de argumentos de una función definida por el usuario, puede ser variable, se utilizan las funciones func_num_args(), func_get_arg() y func_et_args().

Valores devueltos

A diferencia de C, PHP puede devolver cualquier número de valores, sólo hará falta recibir estos argumentos de la forma adecuada. Ejemplo:

  function numeros()
    {
      return array(0,1,2);
    }
  list ($cero, $uno, $dos) = numeros();

Funciones Variables

Las funciones variables pueden ser una gran y potente herramienta en el procesamiento dínamico de un script. Ejemplo:

  <?php
  funcion foo()
    {
      echo "En foo()<br>\n"
    }
  function bar ($arg ='')
    {
      echo " bar();El argumento ha sido '$arg'.<br>\n"
    }
  $func = 'foo';
  $func();
  $func='bar';
  $func('test');
  ?>

Clases y objetos

La sintaxis para definir una clase es la siguiente:

  <?php
  class Carta
    {
      var $items;
      function add_item ($artnr, $num)
        {
          $this->items[$artnr] +=$num;
        }
      function remove_item8$artnr, $num)
        {
          if ($this->$item($artnr, $num)
            {
              $this->items[$artnr] -= $num;
              return true;
            }
          else
            {
              return false;
            }
        }
    }
  ?>

El operador new crea una instancia de la clase Carta.

  $carta = new Carta;

La herencia en PHP se realiza con extends.

Los constructores de cada clase se llaman automáticamente por el operador new . El constructor de cada clase debe tomar el mismo nombre de la clase y cuando se trata de una clase derivada, hay que tener cuidado porque sólo se llama automáticamente al constructor de dicha clase pero no al constructor de la clase padre.

Manejo de Errores

En PHP hay cuatro tipos de errores:

El nivel de error por defecto es 7 (1+2+4), pero esto puede ser modificado en el fichero de configuración php3.ini con la directiva error_reporting

Cualquier expresión en PHP se puede llamar con la "@" al principio que invocará a la función de manejo de errores, y si track_errors está activada, el error podremos encontrarlo en la variable $php_errormsg.

Creación de Imágenes GIF

Con PHP también es posible generar documentos GIF, aunque es necesario compilar con la librería GD.

Un ejemplo de esta característica se muestra en el siguiente ejemplo:

   <?php
   Header("Content-type: image/gif");
   $string=implode($argb(" ");
   $im = imagecreateromgif("images/boton1.gif");
   $orange = ImageColorAllocate($im, 220, 210, 60);
   $px = (unagesx($im)-7.5*strlen($string))/2;
   ImageGif($im);
   ImageDestroy($im);
   ?>

Este emplo podría ser invocado desde cualquier página con la línea

  <img src="boton1.php3"?text

Con este método puedes generar la imagen adecuada dinámicamente. El parámetro text nos permitirá poner el texto que deseemos en la imagen que vamos a generar.

Problema de la autentificación de un Usuario con PHP

Para resolver este problema, se utiliza la función Header(). Esta función debe ser llamada antes de que se haya producido ninguna salida del fichero html que se está generando. Esta función envía una línea a la cabecera HTML que se está generando. Y con esta función es posible enviar un mensaje de "Autentificación Requerida " que forzará al usuario a completar los datos solicitados.

El funcionamiento es muy sencillo. Una vez que el usuario ha completado los datos que se le piden, se fuerza una nueva llamada al script con las variables $PHP_AUTH_USER, $PHP_AUTH_PW y $PHP_AUTH_TYPE que contendrán el nombre del usuario, el pasword y el tipo de autentificación.

Un ejemplo sencillo es:

  <?php
  if(!isset($PHP_AUTH_USER))
    {
      Header("WWW-Authenticate: Basic realm=\$quot;mi Realm\"");
      Header("HTTP/1.0 401 Unauthorized")
      echo "TeXto para enviar si se utiliza el botón de Cancelar");
      exit;
    }
  else
    {
      echo " Hola $PHP_AUTH_USER <p>";
      echo " Tu contraseña es $PHP_AUTH_PW <p>";
    }
  ?>

Hay que tener mucho cuidado con el orden en el que se envian los diferentes tipos de cabeceras. Esta cabecera de autentificación, debe ir siempre delante de la del tipo HTTP/1.0 401.

Otro ejemplo sencillo es:

  <?php
  function autentificacion()
    {
      Header( "WWW-authenticate: basic realm='Sistema de autentificacion'");
      Header( "HTTP/1.0 401 Unauthorized");
      echo "You must enter a valid login ID and password to access this resource\n";
      exit;
    }
  if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) )
    {
      autentificacion();
    }
  else
    {
      echo "Welcome: $PHP_AUTH_USER";
      echo "Old: $OldAuth";
      echo "<FORM ACTION=\"$PHP_SELF\" METHOD=POST>\n";
      echo "<INPUT TYPE=HIDDEN NAME=\"SeenBefore\" VALUE=\"1\">\n";
      echo "<INPUT TYPE=HIDDEN NAME=\"OldAuth\" VALUE=\"$PHP_AUTH_USER\">\n";
      echo "<INPUT TYPE=Submit VALUE=\"Re Authenticate\">\n";
      echo "</FORM>\n";
    }
  ?>

Nota: Sólo vale para PHP como módulo de Apache

Cookies

Para PHP las cookies son fáciles de utilizar. Para esto se utiliza la función setcookie() y al igual que la función anterior, Header, tiene que ser invocada antes de producir ninguna salida.

La función posee el siguiente prototipo:

  int setcookie(string name, string value, int expire, string path, string domain, int secure);

Esta función define la cookie que se va a enviar y posee todos los argumentos opcionales a excepción del nombre, aunque los no especificados deben ser indicados "", menos los parametros expire que es un entero regular que puede devolver la función mktime(), y secure, que indica si el cookie deberia ser utilizado sólo sobre conexiones seguras, enteros que deben ser sustituidos por un 0.

Un ejemplo sencillo podría ser:

  setcookie ("TestCookie", "Valor de Test");
  setcookie ("TestCookie", $value,time()+3600); /* expira en 1 hora*/
  setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);

Para poder ver el contenido de un cookie, podemos utilizar:

  echo $TestCookie;
  echo $HTTP_COOKIE_VARS["TestCookie"];

Se pueden utilizar vectores de cookies.

  setcookie ("cookie[three]", "cookiethree");
  setcookie ("cookie[two]", "cookietwo");
  setcookie ("cookie[one]", "cookieone");
  if (isset ($cookie))
    {
      while (list ($name, $value) = each ($cookie))
        {
          echo "$name == $value\n";
        }
    }

Utilización de ficheros remotos

PHP permite la utilización de ficheros remotos para realizar algún tipo de lectura de ellos. En el caso de querer realizar algún tipo de escritura, se debe hacer a través de un servidor ftp. Un ejemplo de ambas cosas se muestra a continuación.

  <?php
  $file = fopen("http://www.php.net/", "r");
  if (!$file)
    {
      echo "<p>Unable to open remote file.\n";
      exit;
    }
  while (!feof($file))
    {
      $line = fgets($file, 1024);  /* sólo funciona si todo está en una línea */
      if (eregi("(.*)", $line, $out))
        {
          $title = $out[1];
          break;
        }
    }
  fclose($file);
  ?>

Manejo de conexiones

En PHP las conexiones que se mantinen pueden tener tres estados, Normal (0), Aborted (1) y Timeout (2).

En un script normal, el estado es NORMAL, cuando el cliente desconecta, el estado pasa a ser ABORTED y si el límite impuesto por PHP-imposed ha transcurrido, (set_time_limit(), el tiempo por defecto es 30 segundos) el estado es TIMEOUT.

Una función muy util para estos casos, es connection_status() que devuelve el estado de la conexión.

Conexiones a bases de datos

Las conexiones persistentes son enlaces SQL que no se cierran cuando la ejecución del script termina. El comportamiento de estas conexiones es el siguiente.

Cuando se invoca una conexión de este tipo, PHP comprueba si existe una conexión de este mismo tipo o por el contrario, se trata de una nueva conexión. En el caso de que exista, se procede a su uso, y en el caso de que no exista, la conexión se crea. Dos conexiones se consideran iguales cuando están realizadas sobre el mismo servidor, con el mismo usuario y la misma contraseña.

Pero en realidad, estas conexiones permanentes, no proporcionan ningún tipo de funcionabilidad adicional frente a conexiones temporales, debido a la forma en que los servidores Web funcionan.

Aún así se utilizan debido a la eficiencia, debido al tiempo de establecimiento de la conexión, y debido a que si tienes una sóla conexión sobre el servidor, irá mucho más rápido que si tienes 10 conexiones temporales, puesto que la carga que soporta es diferente.

Funciones de PHP

MySql

La lista de funciones disponibles es la siguiente:

Postgress

La lista de funciones para Postgress y para cualquier otro servidor podeis encontrarla en el manual de PHP.

Direcciones de Interés

Algunas Direcciones Interesantes son:

                                                                                                                                        

                                                                                   © 2001 Carlos Alvear, Carolina Jiménez y Javier de Lucas