Cita:
Iniciado por mostaza4 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($resultado, MYSQL_NUM);
return $fila[0];
}