Foros del Web » Programando para Internet » PHP »

Problema al crear funciones en php y mysql

Estas en el tema de Problema al crear funciones en php y mysql en el foro de PHP en Foros del Web. Hola amigos, nuevamente recurro a ustedes por ayuda en PHP. Les cuento, tengo una BD en MySQL y estoy tratando de hacer funciones en un ...
  #1 (permalink)  
Antiguo 15/02/2011, 14:32
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Problema al crear funciones en php y mysql

Hola amigos, nuevamente recurro a ustedes por ayuda en PHP.
Les cuento, tengo una BD en MySQL y estoy tratando de hacer funciones en un archivo funciones.php:

Código PHP:
<? 
require_once('Connections/conexion.php'); ?>
<?php


function obtenernombrealumno($rut){
    
$alumno "SELECT NOMBRE_ALUMNO FROM ALUMNO WHERE RUT_ALUMNO = '$rut'";
    
$nombrealum consulta($alumno);
    return 
$nombrealum;
}


function 
consulta($consulta){
    
mysql_select_db($database_conexion$conexion);
    
$resul mysql_query($consulta$conexion) or die(mysql_error());
    
$rows =  mysql_fetch_assoc($resul);
    return 
$rows;
}
?>
y en el archivo conexion.php tengo esto:

Código PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conexion "localhost";
$database_conexion "alumnos";
$username_conexion "root";
$password_conexion "***";
$conexion mysql_pconnect($hostname_conexion$username_conexion$password_conexion) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
y lo que hago es en otro php es llamar a la función obtenernombrealumno() así:


Código PHP:
<? require_once('Connections/conexion.php'); 
include_once(
"funciones.php");

$rut "16.768.864-0";
$n obtenernombreAlumno($rut);
echo 
$n;

?>
Pero me da este error ¬¬:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\PT\funciones.php on line 21

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\PT\funciones.php on line 22

El problema es que esta todo ok y no debería tener error, pero si lo da :(.

Necesito un poco de ayuda.
Gracias ;).
  #2 (permalink)  
Antiguo 15/02/2011, 14:36
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Problema al crear funciones en php y mysql

Prueba cambiando tu conexion por esta :

Código PHP:
Ver original
  1. $conexion=mysql_connect("localhost","root","TU CLAVE") or  die("Problemas en la conexion");
  2. mysql_select_db("alumnos",$conexion) or  die("Problemas en la selección de la base de datos");
  #3 (permalink)  
Antiguo 15/02/2011, 14:47
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Problema al crear funciones en php y mysql

a ver prueba asi


Código PHP:
function consulta($consulta){
    global 
$database_conexion;
    global 
$conexion;
    
mysql_select_db($database_conexion$conexion);
    
$resul mysql_query($consulta$conexion) or die(mysql_error());
    
$rows =  mysql_fetch_assoc($resul);
    return 
$rows;

  #4 (permalink)  
Antiguo 15/02/2011, 14:51
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Problema al crear funciones en php y mysql

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
Prueba cambiando tu conexion por esta :

Código PHP:
Ver original
  1. $conexion=mysql_connect("localhost","root","TU CLAVE") or  die("Problemas en la conexion");
  2. mysql_select_db("alumnos",$conexion) or  die("Problemas en la selección de la base de datos");
Muchas gracias amigo puse asi directamente en el archivo funciones.php:

Código PHP:
Ver original
  1. <?
  2. //require_once('Connections/conexion.php'); ?>
  3. <?php
  4.  
  5. function obtenernombrealumno($rut){
  6.     $alumno = "SELECT NOMBRE_ALUMNO FROM ALUMNO WHERE RUT_ALUMNO = '$rut'";
  7.     $nombrealum = consulta($alumno);
  8.     return $nombrealum;
  9. }
  10.  
  11.  
  12. function consulta($consulta){
  13.     $conexion = mysql_connect("localhost","root","***") or trigger_error(mysql_error(),E_USER_ERROR);
  14.     mysql_select_db("alumnos", $conexion);
  15.     $resul = mysql_query($consulta, $conexion) or die(mysql_error());
  16.     $rows =  mysql_fetch_assoc($resul);
  17.     return $rows;
  18. }
  19. ?>

Comente el archivo de conexion e hice directamente la conexion en el archivo, espero le sirva algunos con el mismo problema!.
  #5 (permalink)  
Antiguo 15/02/2011, 14:53
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Problema al crear funciones en php y mysql

Cita:
Iniciado por mogurbon Ver Mensaje
a ver prueba asi


Código PHP:
function consulta($consulta){
    global 
$database_conexion;
    global 
$conexion;
    
mysql_select_db($database_conexion$conexion);
    
$resul mysql_query($consulta$conexion) or die(mysql_error());
    
$rows =  mysql_fetch_assoc($resul);
    return 
$rows;

Voy a probarlo de todas formas ;)
  #6 (permalink)  
Antiguo 15/02/2011, 14:55
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Problema al crear funciones en php y mysql

Que bueno compa
  #7 (permalink)  
Antiguo 15/02/2011, 15:00
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Problema al crear funciones en php y mysql

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
Que bueno compa
Gracias de nuevo.

Cita:
Iniciado por mogurbon Ver Mensaje
a ver prueba asi


Código PHP:
function consulta($consulta){
    global 
$database_conexion;
    global 
$conexion;
    
mysql_select_db($database_conexion$conexion);
    
$resul mysql_query($consulta$conexion) or die(mysql_error());
    
$rows =  mysql_fetch_assoc($resul);
    return 
$rows;

Gracias @Mogurbon, esta solucion es mas sencilla por que solo se agrega las varibales globales, aunque las cambie como globales dentro del archivo funciones.php y no funciono, pero cuando las puse entro de la funcion consulta funciona como debe ser

La duda es por que no funcionan las variables $database_conexion y $conexion como globales si les estoy agregando la referencia

Humanos 1 - PHP 0 XDDD
  #8 (permalink)  
Antiguo 15/02/2011, 16:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: Problema al crear funciones en php y mysql

Cita:
Iniciado por javier86 Ver Mensaje
Gracias de nuevo.



Gracias @Mogurbon, esta solucion es mas sencilla por que solo se agrega las varibales globales, aunque las cambie como globales dentro del archivo funciones.php y no funciono, pero cuando las puse entro de la funcion consulta funciona como debe ser

La duda es por que no funcionan las variables $database_conexion y $conexion como globales si les estoy agregando la referencia

Humanos 1 - PHP 0 XDDD
Te funciona dentro de consulta por que ese es el comportamiento esperado, en otras palabras lee el manual http://www.php.net/manual/en/languag...bles.scope.php
__________________
Saludos.
  #9 (permalink)  
Antiguo 15/02/2011, 17:55
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Problema al crear funciones en php y mysql

Cita:
Iniciado por JaimeSavines Ver Mensaje
Te funciona dentro de consulta por que ese es el comportamiento esperado, en otras palabras lee el manual [URL="http://www.php.net/manual/en/language.variables.scope.php"]http://www.php.net/manual/en/language.variables.scope.php[/URL]
Gracias Jaime, pues soy un poco novato con esto de PHP y no sabia esto de que esta variable que llamo no es global, revisaré el manual de PHP, gracias ;)

Etiquetas: funciones, mysql
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:28.