Differenze caso sensibilità nel selezionare la colonna e COUNT, mysql?
-
11-09-2019 - |
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?
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 () .