Domanda

Ok, sto un po 'nervosa confondendo qui. Nel mio database ho 5 righe di questi dati => "string@domail.com" (tutto in minuscolo), e questo è il mio codice, Query 1 (sto usando PHP e MySQL):

$str = 'STRING@DOMAIN.COM';

$sel = mysql_query("SELECT COUNT(*) 
                    FROM table 
                    WHERE `column` = '{$str}'");
$num = mysql_num_rows($sel);

echo $num;

Il risultato è 1. Ma se cambio a Query2

SELECT column 
FROM table 
WHERE `column` = '{$str}'"

Si ritorna 5.

E un'altra domanda è, quale domanda dovrei usare se voglio scoprire il numero di righe presenti nel database, query di 1 o 2, in termini di velocità di query?

È stato utile?

Soluzione

$num = mysql_num_rows($sel);

Questo restituisce il numero di righe selezionate dalla query. Per interrogare uno, dal momento che si seleziona COUNT(*) dal vostro tavolo, restituisce una singola riga con una cella in esso: valore di questa cella è 5. La seconda query selezionare tutte le voci che hanno il valore da $str, così mysql_num_rows($sel); sarà davvero tornare 5.

Per quanto riguarda l'altra domanda, prima query se più efficace, ma se stai cercando il numero di righe con valore $str, non utilizzare mysql_num_rows() ma mysql_fetch_row () .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top