Foros del Web » Programando para Internet » PHP »

Problemas con el mysql_fetch_array

Estas en el tema de Problemas con el mysql_fetch_array en el foro de PHP en Foros del Web. ==================Gestor RegistrarTrabajo=================== <?php session_register('idColaborador'); // id Colaborador session_register('nickColaborador'); // nick colaborador session_register('contraseña'); // contraseña session_register('idPersona'); session_register('mEntradas'); /*session_register('noticias'); session_register('nroNoticias');*/ class GestorRegistrarTrabajo { var $errores; var $nroErrores=0; ...
  #1 (permalink)  
Antiguo 12/05/2005, 22:57
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 18 años, 11 meses
Puntos: 1
Problemas con el mysql_fetch_array

==================Gestor RegistrarTrabajo===================
<?php
session_register('idColaborador'); // id Colaborador
session_register('nickColaborador'); // nick colaborador
session_register('contraseña'); // contraseña
session_register('idPersona');
session_register('mEntradas');
/*session_register('noticias');
session_register('nroNoticias');*/
class GestorRegistrarTrabajo
{
var $errores;
var $nroErrores=0;
function validarDatos($titulo,$edTema,$edFechaR,$edCP,$tama ño,$edUniversidad,$ruta,$edNombre1,$edNombre2,
$edNombre3,$edNombre4,$edNombre5,$edNombre6,$edApe llido1,$edApellido2,$edApellido3,$edApellido4,
$edApellido5,$edApellido6,$edEmail1,$edEmail2,$edE mail3,$edEmail4,$edEmail5,$edEmail6)
{
if (($titulo=="") and ($tamaño=="")and ($ruta==""))
return false;
elseif(($titulo=="") or ($tamaño=="") or ($ruta==""))
{
if($titulo=="")
{
$this->errores[$this->nroErrores]="Ingrese titulo";
$this->nroErrores++;
}
if($tamaño=="")
{
$this->errores[$this->nroErrores]="Ingrese un tamaño";
$this->nroErrores++;
}
if($ruta=="")
{
$this->errores[$this->nroErrores]="ruta no designada";
$this->nroErrores++;
}
return false;
}
else
return true;
}
}
$new=new GestorRegistrarTrabajo;
if ($new->validarDatos($edTitulo,$edTema,$edFechaR,$edCP,$e dTamaño,$edUniversidad,$edRuta,$edNombre1,$edNombr e2,
$edNombre3,$edNombre4,$edNombre5,$edNombre6,$edApe llido1,$edApellido2,$edApellido3,$edApellido4,
$edApellido5,$edApellido6,$edEmail1,$edEmail2,$edE mail3,$edEmail4,$edEmail5,$edEmail6))
{
include ('trabajoUniversitario.php');
$a=new trabajoUniversitario($edTitulo,$edTema,$edFechaR,$ edCP,$edTamaño,$edUniversidad,$edRuta);
$idTrabajoUniversitario=$a->insertar();// insertar retorna el id del ultimo trabajo insertado
include ('autor.php');
include ('TrabajoAutor.php');
//================================================== ================================================== ===0
// VERIFICAMOS SI ESTAN LLENADOS LOS AUTORES PARA IR SACANDO IDs
if(($edNombre1<>"") and ($edApellido1<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$b=new autor($edNombre1,$edApellido1,$edEmail1); // insertar el primer autor
$idAutor1=$b->insertar();
$z=new trabajoAutor;
$z->insertar($idTrabajoUniversitario,$idAutor1);
}
if(($edNombre2<>"") and ($edApellido2<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$c=new autor($edNombre2,$edApellido2,$edEmail2); // insertar el primer autor
$idAutor2=$c->insertar();
$y=new trabajoAutor;
$y->insertar($idTrabajoUniversitario,$idAutor2);
}
if(($edNombre3<>"") and ($edApellido3<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$d=new autor($edNombre3,$edApellido3,$edEmail3); // insertar el primer autor
$idAutor3=$d->insertar();
$w=new trabajoAutor;
$w->insertar($idTrabajoUniversitario,$idAutor3);
}
if(($edNombre4<>"") and ($edApellido4<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$e=new autor($edNombre4,$edApellido4,$edEmail4); // insertar el primer autor
$idAutor4=$e->insertar();
$v=new trabajoAutor;
$v->insertar($idTrabajoUniversitario,$idAutor4);
}
if(($edNombre5<>"") and ($edApellido5<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$f=new autor($edNombre5,$edApellido5,$edEmail5); // insertar el primer autor
$idAutor5=$f->insertar();
$u=new trabajoAutor;
$u->insertar($idTrabajoUniversitario,$idAutor5);
}
if(($edNombre6<>"") and ($edApellido6<>"")) // verifica si los datos de nombre y apellido eatan llenados
{
$g=new autor($edNombre6,$edApellido6,$edEmail6); // insertar el primer autor
$idAutor6=$g->insertar();
$t=new trabajoAutor;
$t->insertar($idTrabajoUniversitario,$idAutor6);
}
//=======================================FIN INSERTAR AUTOR Y TRABAJO AUTOR============================================= ====
//================================================== ==========
$aux=$_SESSION['mEntradas'];
$mEntradas=$aux+1;
//================================================== ==========
// despues de insertar tonces llamamos al modulo interfaz para felicitar
include('IURegistrarTrabajo.php');
$b=new IURegistrarTrabajo;
$b->felicitar();
}
else // hay errores o es la primera vez que entra...
{
include('IURegistrarTrabajo.php');
$a=new IURegistrarTrabajo;
if ($new->nroErrores<>0)
$a->verErrores($new->errores,$new->nroErrores);
$a->verIU();
}
?>
// ===================clase trabajoUniversitario============
<?php
class trabajoUniversitario
{
var $titulo;
var $tema;
var $fechaR;
var $fechaP;
var $CP;
var $tamaño;
var $calificacion;
var $universidad;
var $rutaAcceso;
function trabajoUniversitario($titulo,$tema,$fechaR,$CP,$ta maño,$universidad,$ruta)
{
$this->titulo=$titulo;
$this->tema=$tema;
$this->fechaR=$fechaR;
$this->fechaP=date('Y-m-d');
$this->CP=$CP;
$this->tamaño=$tamaño;
$this->calificacion=1;
$this->universidad=$universidad;
$this->rutaAcceso=$ruta;
}
function insertar()
{
include ('../conect.php');
$idColaborador=$_SESSION['idColaborador'];
$idPersona=$_SESSION['idPersona'];
$link=conectarse();
//---------------- SACA EL ID DEL COLABORADORFACULTAD----------
$sql1="select * from colaboradorFacultad where (idPersona='$idPersona')and (idColaborador='$idColaborador')";
$respuesta=mysql_query($sql1,$link);
if ($fila=mysql_fetch_array($respuesta))
$idColaboradorFacultad=$fila['idColaboradorFacultad'];
//---------FIN SACA EL ID DEL COLABORADORFACULTAD--------------
//__________________________________________________ _______________
//---------AHORA SE INSERTA EN TRABAJOUNIVERSITARIO Y SE SACA EL ID
mysql_free_result($respuesta);
$sql="insert into trabajoUniversitario values('','$idColaboradorFacultad','$idColaborador ','$idPersona','$this->fechaR',
'$this->fechaP','$this->CP','$this->tema','$this->titulo','$this->tamaño','$this->calificacion','$this->universidad',
'$this->rutaAcceso')";
$res=mysql_query($sql,$link);
$idTrabajoUniversitario=mysql_insert_id($link);
return $idTrabajoUniversitario;
}
}
?>
//=======================autor====================== =0
<?php
class autor
{
var $nombre;
var $apellido;
var $email;
function autor($nombre,$apellido,$email)
{
$this->nombre=$nombre;
$this->apellido=$apellido;
$this->email=$email;
}
function insertar()
{
$link=conectarse();

$slq2="select * from autor where (nombre='$this->nombre')and (apellidoPaterno='$this->apellido')";
$respuesta=mysql_query($sql2,$link);
if ($fila=mysql_fetch_array($respuesta))// Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\cuscocool\inisesioncolaborador\auto r.php on line 19
{
echo "existe Jorge Mendoza";
$aux=$fila['idAutor'];
return $aux;
}
else
{
$sql="insert into autor values('','$this->nombre','$this->apellido','','$this->email')";
$res=mysql_query($sql,$link);
$idAutor=mysql_insert_id($link);
return $idAutor;
}
}
}
?>
================================================0

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\cuscocool\inisesioncolaborador\auto r.php on line 19

el problema que tengo me salía cuando ponía algo como :
select * from autor where (nombre=$this->nombre)and (apellidoPaterno=$this->apellido)";
luego lo corregí:
select * from autor where (nombre='$this->nombre')and (apellidoPaterno='$this->apellido')";
ahora me vuelve a salir el mismo error, lo eh estado revisando una y otra vez, posiblemente creo yo que sea por los includes, todo corre muy bien, se supone que en la funcion insertar de la clase autor no debería insertar uno que ya se encuentra en mi base de datos, pero como me sale ese erro no entra al if($fila=mysql_fetch_array($respuesta)), asi iendose a else e insertando....
pero bueno ojala puedan ayudarme del porque sale ese error, y si tienen sugerencias de como acortar código o optimizar el código se los agradecía ya que voy recien unas semanas en el php. gracias por todo.
  #2 (permalink)  
Antiguo 13/05/2005, 00:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Hola, para hecer más sencilla la lectura de tremendo post, te ruego que edites tu mensaje anterior y pongas entre las etiquetas [PHP] y [ /PHP] (sin el espacio después del "[") para que salga coloreado.

Saludos
  #3 (permalink)  
Antiguo 13/05/2005, 00:44
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Deberías comprobar si tu cadena SQL se está generando correctamente. Simplemente así:
Código PHP:
$respuesta mysql_query($sql2$link) or die("error en <b>$slq2</b> :::".mysql_error()); 
Saludos
  #4 (permalink)  
Antiguo 13/05/2005, 12:01
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 18 años, 11 meses
Puntos: 1
Gracias amigo tu sugerencia me hizo dar cuenta de la tonteria que sucedia jeje

el problema erá:

$slq2="select * from autor where (nombre='$this->nombre') and (apellidoPaterno='$this->apellido')";
$respuesta = mysql_query($sql2, $link)

me equivoque en vez de poner sql2 puse slq2 jejeje eso me pasa por confirme en mis dedos jejjee..gracias muchisimas gracias, ya puse esta págian como mi página de inicio :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.