Obtenga el valor único de un conjunto de resultados sql

Considere esta consulta SQL

$sql = "select count(*) as count from table where value='this'"; 

Esta consulta va a devolver solo un valor en el count campo.

¿Hay alguna manera de obtener ese valor sin usar un fetch_array y apuntando al primer valor de la matriz devuelta?

mysql_result() le permitirá extraer el valor directamente del conjunto de resultados sin tener que usar un método fetch . Aquí hay un ejemplo muy simple de cómo puede usarlo para obtener su valor único:

 mysql_select_db( "mysql", mysql_connect( "localhost", "root", "" ) ); $r = mysql_query( "SELECT count(name) as total FROM `help_keyword`" ); echo $r ? mysql_result( $r, 0 ) : mysql_error() ; // Outputs 450 

Hay tres parámetros para la función mysql_result() ; primero está el conjunto de resultados, el segundo es el índice de la fila y el tercero es el índice del campo. Solo estoy usando los primeros dos parámetros, ya que el tercero tendrá un valor predeterminado de 0, se devuelve el primer campo.

Como principiante de sql también perdí mucho tiempo tratando de usar estos resultados unidimensionales de consultas sql directamente. Pensé que dado que el resultado no es una matriz, podría omitir estos while-loops con esos fetch_arrays.

Sin embargo, solo ahora me doy cuenta de que, aunque el resultado puede ser el valor entero de 8, siempre que no lo convierta en el valor que es, todavía se considera como un ‘resultado de consulta’ en lugar de un número entero.

El código de Jonathan me ayudó a darme cuenta de esto. Para mí, utilicé un código ligeramente diferente que me ayudó. Esto es lo que funcionó para mí:

 $con=mysql_connect("host", "user", "password"); if(!$con) {die('could not connect: '.mysql_error()); } $db_selected=mysql_select_db("database", $con); $sql = "the sql query that yiels one value, for example a SELECT COUNT query"; $outcome_considered_as_a_query-result-set = mysql_query($sql,$con); $outcome_considered_as_the_one_element_of_the_result_set = mysql_result($outcome_considered_as_a_query-result-set,0); echo $outcome_considered_as_the_one_element_of_the_result_set; mysql_close($con); 

Uso: mysql_num_rows

 $count = mysql_num_rows(mysql_query($sql); 

Simplemente no use la cuenta en este caso. Seleccione todo y esto lo contará.