Foros del Web » Programando para Internet » PHP »

Practica de funciones necesito ayuda para aprender

Estas en el tema de Practica de funciones necesito ayuda para aprender en el foro de PHP en Foros del Web. Hola mis amigos que tal yo estoy acostumbrado a la programacion estructurada de php y mysql pero se me hace muy tedioso estar haciendo llamadas ...
  #1 (permalink)  
Antiguo 29/04/2009, 08:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 18
Antigüedad: 15 años, 6 meses
Puntos: 0
Practica de funciones necesito ayuda para aprender

Hola mis amigos que tal yo estoy acostumbrado a la programacion estructurada de php y mysql pero se me hace muy tedioso estar haciendo llamadas y rutinas en varias paginas he realizado varios trabajitos con esta metologia pero me abarca muchas paginas y horas de trabajo frente a la computadora ahorita quiero resumir todo y trabajar con funciones

les presento mis codigos para que me ayuden con una duda ok:

configuracion.php
Código:
<?php 
/* configuracion.php
Página que contiene las variables de conexion al servidor y la base de datos 
 */
$server  ="localhost";
$user    ="root";
$password="123456";
$db      ="nucleo";
?>
la pagina de conexion al servidor y la base de datos:

conexion.php
Código:
<?php 
/* conexion.php
Página que permite la conexion con el servidor y la base de datos
 */
 
/* 
Función que permite la conexion al servidor y a la base de datos
 */
$conn=conectar();
function conectar()
{
  include('configuracion.php');
  $link=mysql_connect($server,$user,$password);
     if(!$link)
	 {
       die('Error al conectarse con el servidor');	       
     }
  if(!mysql_select_db("$db",$link))
     {
       die('Error al seleccionar la base de datos');
     }
  return $link;
 
}

function  Execute($SQL)
	{   
	    $result = mysql_query($SQL,$conn) 
	    or die ("<tt>$SQL</tt><hr>". mysql_error()."Problema con query");
	    return $result;	   
	}

?>
he creado humildemente una pagina de funciones pero siempre me da error a continuacion se las muestro a ver que opinan:

funcionesusuarios.php
Código:
<?php 
/*funcionesusuarios.php 
Página que permite las diferentes operaciones con los registros de usuarios
 */
include('conexion.php');
/* 
Variables con los campos del formulario usuario
 */
$nick=$_POST['nombre'];
$nombre=$_POST['nick'];
$pass=$_POST['pass'];
$email=$_POST['email'];

/* Funcion que permite realizar una busqueda de usuario */
function buscarusuario()
   {
    $SQL = "SELECT * FROM usuarios WHERE usuarios.nick='$nick'"; 
	 $rs = Execute($sql); 
	 if ($rs && mysql_num_rows($rs)!=0)
		{ 
		  $error = "Existe"; 
		}
	 else 
		{ 
		 $error = "Noexiste"; 
		} 
	// mysql_free_result($rs); 
	// mysql_close($link); 
   
    }
	
/* Funcion que permite ingresar un usuario en la tabla de usuarios */
function ingresarsuario()
   {
   $SQL="INSERT INTO usuarios(nick,pass,nombre,email) values ('$nick','$pass','$nombre','$email')";			
   $query =Execute($sql);
   }
  
/* Funcion que permite consultar un usuario en la tabla de usuarios */
function consultarsuario()
   {
   $SQL="select * from usuarios where nick='$nick'" ;
   // ejecutando el query select regresa un rowset
   $rs=Execute($sql);
   /*  Regresando renglon con registros  */
   if ($reg = mysql_fetch_row($rs))
      {
       echo $$reg[0];
       echo $$reg[1];
       echo $reg[2];
       echo $reg[3]; 
 
	  }			 
   }   
?>
tengo una pagina donde esta el formulario de ingreso de datos de usuario
ingresausuario.php que es la contiene los ddatois del usuario y envia las variables get_post a la pagina funcionesusuarios.php

La cuestion es que he ingresado datos ficticios en la tabla usuarios para probar y me arroja el error "problemas con query" o algo como Warning: supplied argument is not a valid MySQL result resource in.... en la linea de la funcion consultarusuario

Mi duda es si le falta algo al query?
Esta algo malo en la sintaxis de la conexion?
Estoy haciendo mal la llamada de las funciones?

Les agradeceria de verdad que me ayuden a aclarar mis dudas porque quiero simplificar el trabajo y aprender mas de sus opiniones y aportes y sugerencias
Esperando sus respuestas se despide su amigo de corazon

Octavio Bermudez.
  #2 (permalink)  
Antiguo 29/04/2009, 08:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Practica de funciones necesito ayuda para aprender

Tema trasladado desde PHP Orientado a Objetos
  #3 (permalink)  
Antiguo 29/04/2009, 08:24
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Practica de funciones necesito ayuda para aprender

Comprueba que le has pasado bien los parametros a la funcion. También puedes probar con el típico recurso de la arroba (@), poniéndola delante de la función en cuestión:

@mysql_query(loquesea, loquesea);

Saludos
  #4 (permalink)  
Antiguo 29/04/2009, 09:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Practica de funciones necesito ayuda para aprender

Cita:
Iniciado por SetheR Ver Mensaje
[...] puedes probar con el típico recurso de la arroba (@), poniéndola delante de [...]
SetheR, y tu sabes que hace la "típica arroba" ???


el símbolo de @ oculta los errores, osea... no los evita, los esconde....

a gracia de este "típico recurso" pues nos topamos con el típico error de: ¿donde esta el problema, yo no lo veo??


cuando en realidad, lo mejor es poder ver todos lo errores.... y en lugar de ocultarlos, omitirlos o demás.... hay que saber controlarlos, que no es lo mismo!


me pregunto de donde sacaste este "típico" mal ejemplo....





--

octaviobermudez, lo que sucede es que en tu función Execute() estas usando $conn como el enlace a la conexión de la base de datos.... pero, ¿de donde viene este $conn??

creo que debes implementar bien esto, ya que es obvio que es un error....

Código PHP:
function Execute($SQL)
{
  static 
$conn null;

  if (
is_null($conn))
  {
    
$conn conectarse();
  }

  
$result mysql_query($SQL$conn) or
  die(
"<tt>$SQL</tt>: " mysql_error());

  return 
$result;


osea, si... declaras $conn fuera del ámbito de la función.... y de verdad, no es necesario ni útil ahí.... yo he usado por ejemplo, una variable estatica interna en la función.... eso evita tener que usar global $conn; dentro de la funcion Execute()


espero comprendas, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 29/04/2009 a las 10:00
  #5 (permalink)  
Antiguo 30/04/2009, 07:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 18
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Practica de funciones necesito ayuda para aprender

Gracias pateketrueke voy a probar a ver que pasa chamo ya te aviso ok
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 14:10.