Foros del Web » Programando para Internet » PHP »

Error de PHP

Estas en el tema de Error de PHP en el foro de PHP en Foros del Web. Buenas. Al intentar hacer una query dentro de una función me salta el error: Warning: mysql_query() expects parameter 2 to be resource, null given in ...
  #1 (permalink)  
Antiguo 05/03/2012, 16:38
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 1
Error de PHP

Buenas.

Al intentar hacer una query dentro de una función me salta el error:

Warning: mysql_query() expects parameter 2 to be resource, null given in

pero si quito la función no me salta....por más que cambio no consigo hacerlo bien, al no ser que haga algo mal en la función.

Código con función (ERROR)

Código PHP:
<?php require_once('./conexion/conexion.php');
error_reporting(E_ALL & ~E_NOTICE); 
 
mysql_select_db($nom_bd,$conecta);
 function 
escribe(){
     
$consulta=sprintf("select * FROM usuarios where user='davidcm86'");
    
$ejecutamos_consulta=mysql_query($consulta,$conecta)or die(mysql_error()); //Linea en la que marca error
    
$primer_ejecutamos_consulta=mysql_fetch_assoc($ejecutamos_consulta);
    echo 
$primer_ejecutamos_consulta['nombre'];
}
escribe();
?>
Código sin función (BIEN)

Código PHP:
<?php require_once('./conexion/conexion.php');
error_reporting(E_ALL & ~E_NOTICE); 
mysql_select_db($nom_bd,$conecta);

    
$consulta=sprintf("select * FROM usuarios where user='davidcm86'");
    
$ejecutamos_consulta=mysql_query($consulta,$conecta)or die(mysql_error());
    
$primer_ejecutamos_consulta=mysql_fetch_assoc($ejecutamos_consulta);
    echo 
$primer_ejecutamos_consulta['nombre'];
?>

¿Qué tontería hago mal chic@s?

Última edición por davidcm86; 05/03/2012 a las 16:40 Razón: Correción
  #2 (permalink)  
Antiguo 05/03/2012, 16:45
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Error de PHP

$conecta, que es el segundo parámetro que masas a mysql_query, no está declarada dentro de tu función, tendría que ser global o bien llamar la conexión a la bd dentro de la función.
  #3 (permalink)  
Antiguo 05/03/2012, 16:52
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Error de PHP

Cita:
Iniciado por ocp001a Ver Mensaje
$conecta, que es el segundo parámetro que masas a mysql_query, no está declarada dentro de tu función, tendría que ser global o bien llamar la conexión a la bd dentro de la función.
Eso pensé, pero aún así, ya dentro me salta con:

Código PHP:
Warningmysql_select_db() expects parameter 2 to be resourcenull given in C:xampphtdocsxamppdaviddcmwebfunciones.php on line 7

Warning
mysql_query() expects parameter 2 to be resourcenull given in C:xampphtdocsxamppdaviddcmwebfunciones.php on line 9 
En las líneas conecta en el mysql_query. El caso que quitando la función si funciona....
  #4 (permalink)  
Antiguo 05/03/2012, 16:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Error de PHP

Tendrías que colocar el código tal cual dices que te da el error con el mysql_select_db()
  #5 (permalink)  
Antiguo 05/03/2012, 17:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Error de PHP

muestranos como lo haces, porque tienes dos opciones para pasar la conexion o por parámetro o con global ejemplo

Código PHP:
Ver original
  1. function escribe(){
  2.     global $conecta;
  3.      $consulta=sprintf("select * FROM usuarios where user='davidcm86'");
  4.     $ejecutamos_consulta=mysql_query($consulta,$conecta)or die(mysql_error()); //Linea en la que marca error
  5.     $primer_ejecutamos_consulta=mysql_fetch_assoc($ejecutamos_consulta);
  6.     echo $primer_ejecutamos_consulta['nombre'];
  7. }

o
Código PHP:
Ver original
  1. function escribe($conecta){
  2.      $consulta=sprintf("select * FROM usuarios where user='davidcm86'");
  3.     $ejecutamos_consulta=mysql_query($consulta,$conecta)or die(mysql_error()); //Linea en la que marca error
  4.     $primer_ejecutamos_consulta=mysql_fetch_assoc($ejecutamos_consulta);
  5.     echo $primer_ejecutamos_consulta['nombre'];
  6. }
  7. escribe($conecta);
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 05/03/2012, 17:02
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Error de PHP

Cierto. Este el código.

Código PHP:
<?php require_once('./conexion/conexion.php');
error_reporting(E_ALL & ~E_NOTICE); 

function 
escribe(){
6    mysql_select_db($nom_bd,$conecta);
    
$consulta=sprintf("select * FROM usuarios where user='davidcm86'");
8    $ejecutamos_consulta=mysql_query($consulta,$conecta)or die(mysql_error());
    
$primer_ejecutamos_consulta=mysql_fetch_assoc($ejecutamos_consulta);
    echo 
$primer_ejecutamos_consulta['nombre'];
}
escribe();
?>
Estos los errores

Código PHP:
Warningmysql_select_db() expects parameter 2 to be resourcenull given in C:xampphtdocsxamppdaviddcmwebfunciones.php on line 6

Warning
mysql_query() expects parameter 2 to be resourcenull given in C:xampphtdocsxamppdaviddcmwebfunciones.php on line 8 
Si quitamos la función todo OK, pero no es lo que quiero, claro.
  #7 (permalink)  
Antiguo 05/03/2012, 17:12
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Error de PHP

pues ya el amigo ocp001a te había dado la respuesta

Cita:
Iniciado por ocp001a Ver Mensaje
$conecta, que es el segundo parámetro que masas a mysql_query, no está declarada dentro de tu función, tendría que ser global o bien llamar la conexión a la bd dentro de la función.
y yo le anexe en el anterior ejemplo un paso por parámetro, pero ya es cuestión de como te guste más, tu problema fue de ámbito de la función, las funciones solo leen las variables que estén dentro de ellas mismas, las variables pasadas por parámetros o las variables globales.

Entonces como tu en ningún momento declaras como global a $conecta, en ningún momento pasas a $comenta como parmetro y en ningun momento dentro de tu función declaras a $comenta que lee el mysql_select_db()?? nada y por eso tu error, soluciones ya te cite al amigo que te dio dos de las tres que opciones que puedes tener y la otra te la di en el post anterior, saludos y espero que haya sido informativa mi respuesta,
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 06/03/2012, 03:29
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Error de PHP

Muchas gracias a todos. Está solucinado, he pasado los parámetros a cada función.

un saludo!

Etiquetas: mysql, sql, usuarios
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 09:01.