Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2009, 18:08
Avatar de kurokishi
kurokishi
 
Fecha de Ingreso: enero-2009
Ubicación: Tenochtitlán
Mensajes: 109
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta Alta de usuarios en una BD

Hola, tengo un script en el cual los usuarios se pueden dar de alta, y es el siguiente:
Código PHP:
<?php
if (isset($_POST['usuario']) and ($_POST['password']) and ($_POST['nombre']) and ($_POST['apellidos']) and ($_POST['apodo']))
{
if ( empty(
$_POST['usuario']) || empty($_POST['password'])
|| empty (
$_POST['nombre']) || empty($_POST['apellidos']) || empty($_POST['apodo']) )
{
echo 
"Error, debe de llenar todos los campos";
}
else
{    
$con=pg_connect("host='127.0.0.1' port='5432' user='postgres' password='***' dbname='Curso'");
if (!
$con)
{
echo 
"Error al conectarse a la base de datos vuelva a intentarlo mas tarde";
}
else
{
$usuario=$_POST['usuario'];
$pass=$_POST['password'];
$nombre=$_POST['nombre'];
$apellido=$_POST['apellidos'];
$nickname=$_POST['apodo'];
$sql="INSERT INTO comparacion (usuario, contrasena) VALUES '$usuario', '$pass')";
$query=pg_query($sql);
$sql1="INSERT INTO id (usuario, nombres, apellidos, nickname) VALUES ('$usuario', '$nombre', '$apellido', '$nickname')";
$query1=pg_query($sql1);
$comp="SELECT usuario FROM comparacion";
$query2=pg_query($comp);
/*31->*/If(pg_num_rows($comp)==1)
{
$row=pg_fetch_array($comp);//aqui comparo si ya existe el usuario en la BD
$usuario["$usuario"]=$row[0];
$usuario["$usuario"]=$row[1];
echo 
"Error, El alumno ya esta dado de alta.";
exit;
}
else
{
if (@
pg_query($sql))
{
if (@
pg_query($sql1))
{
echo 
"Alumno dado de alta con exito.";
exit;
}
}
else
{
echo 
"Error al dar de alta al alumno, intentelo mas tarde.";
exit;
}
}
}
}
}
?>
Y pues me manda el mensaje de 'error'
Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\shinusuario.php on line 31
Error al dar de alta al alumno, intentelo mas tarde.

Pero si me da de alta al alumno con todos sus datos bien, a que se debera??
Tambien si hay campos en blanco solo me dirige a una pagina en blanco, no me muestra el error de los datos y si ya existe el usuario en vez de mostrar el error de que ya existe me manda al de intentarlo mas tarde.
De antemano gracias y espero me puedan ayudar.

Última edición por kurokishi; 21/01/2009 a las 18:20 Razón: Mas iformacion