Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/03/2015, 08:51
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Count (*) en php no me anda

Cita:
Iniciado por mostaza4 Ver Mensaje
fucniones.php
Código:
function cuenta($rol,$cnx){
	$cuenta= 'SELECT count(id_rol) FROM persona WHERE id_rol = "$rol"';
	$cuenta=mysql_query($cuenta,$cnx) or die(mysql_error());
	return $cuenta;
	}
Si no uso el "return $cuenta" no devuelve nada en el campo que lo necesito "<li>

codigo principal donde llamo a la funcion
Código:
<li onClick="usuarios(1)">Listos(<?php print  cuenta(1,$cnx);?>)</li>
Notas la diferentia entre lo que te puse yo:
Código PHP:
$cuenta"SELECT count(id_rol) FROM persona WHERE id_rol = '$rol'"
y como lo pones tu:
Código PHP:
$cuenta'SELECT count(id_rol) FROM persona WHERE id_rol = "$rol"'
Como te dije, el uso de comillas y apostrofes no es igual entre PHP y MySQL.

Normalmente para la base de datos las comillas (") se usan para los nombres de objetos de BBDD, como tablasm columnas, etc. Solo si el servidor está configurado de ceirta forma no usual, los toma como delimitadores de cadenas.
Es preferible usar apostrofos (') para eso, o en el caso de numeros, no poner nada.
Así:
Código PHP:
$cuenta"SELECT count(id_rol) FROM persona WHERE id_rol = '$rol'"
o así:
Código PHP:
$cuenta"SELECT count(id_rol) FROM persona WHERE id_rol = $rol"
Y en cualquiera de los dos casos, no uses la misma variable para la query que para el resultado... eso es básico:
Código PHP:
function cuenta($rol,$cnx){
    
$sql'SELECT count(id_rol) FROM persona WHERE id_rol = "$rol"';
    
$cuenta=mysql_query($sql,$cnx) or die(mysql_error());
        
$fila mysql_fetch_array($resultadoMYSQL_NUM);
    return 
$fila[0];
    } 
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)