Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PostgreSQL (http://www.forosdelweb.com/f99/)
-   -   Atrapar errores en postgresql +php (http://www.forosdelweb.com/f99/atrapar-errores-postgresql-php-570459/)

v4mp1r0 29/03/2008 01:41

Atrapar errores en postgresql +php
 
Hola a Todos:

Existe alguna forma de capturar el siguiente error:

Warning: pg_fetch_row() [function.pg-fetch-row]: Unable to jump to row 0 on PostgreSQL result index 5 in /home/vlad/Desktop/UTFSM/carrera_Ing_Civil_Info/Data_Base/Tareas/tarea1/function.php on line 17
Error: Contraseña Erronea, vuelva a intentarlo

Código:

  function sesion($user, $passwd){     
    $query="SELECT rut, password FROM persona WHERE rut='$user' and password='$passwd'";
    $a_query="SELECT rut FROM administrador";   
    $u_query=pg_query($query);     
    $row=pg_fetch_row($u_query,0);      <------- Aqui me arroja el error
    if($row[0]===$user && $row[1]===$passwd){
      $su_query=pg_query($a_query);
      $fila=pg_fetch_row($su_query, 0);     
      if($row[0]===$fila[0])
        include ("admin/admin.php");
      else
        include ("users/usuario.php");
      }
    else
      printf("Error: Contrase&ntilde;a Erronea, vuelva a intentarlo\n");
  }

Basicamente lo que quiero es que me seleccione las sesiones por el usuario que se haga ingreso. Por ejemplo, que dado el usuario admin y la contraseña admin, ingrese a la sesion admin y si se ingresa un usuario ingrese a la sesion de usuario. Pero necesito que corrobore si la password es correcta, por ejemplo si se ingresa una password q no corresponda que me indique, pero esto lo que hace es q me muestra por pantalla el error y luego me muestra el mensaje y necesito que no me muestre errores o warnings

Bueno eso es principalmente lo que necesito, no se si me pueden ayudar en algo.

Salu2!

carolca79 01/04/2008 15:21

Re: Atrapar errores en postgresql +php
 
v4mp1r0,

Antes que nada te digo que ese error es porque tenés intento de lectura de una fila que no existe, entonces antes que eso tienes que hacer la verificación de cantidad de registros con el
Código:

pg_num_rows($u_query)
Que te retorna un Integer, con la cantidad de filas retornadas por tu SELECT.

Y si deseas desactivar los NOTICE y WARNINGs entonces deshabilita el display_errors en el archivo /etc/php.ini
O de otra forma también puedes buscarte en Internet que hay unas funcioncitas sencillas que emulan el display_errors= TRUE o FALSE

Espero te sirva.


La zona horaria es GMT -6. Ahora son las 06:29.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.