php most - Il conteggio MySQLi(*)restituisce sempre 1




popular hashtag (6)

Sto cercando di contare il numero di righe in una tabella e ho pensato che questo fosse il modo corretto per farlo:

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;

Ma conta sempre restituisce (int)1 . Se uso la stessa query in phpMyAdmin ottengo il risultato giusto. Si trova in una tabella, quindi ho provato a testare $count[0] , ma questo restituisce NULL .

Qual è il modo giusto per farlo?


Answers

Devi recuperare quel record, conterrà il risultato di Count ()

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

Trovo questo modo più leggibile:

$result = $mysqli->query('select count(*) as `c` from `table`');
$count = $result->fetch_object()->c;
$result->free();
$mysqli->close();
echo "there are {$count} rows in the table";

Non che io abbia qualcosa contro gli array ...


$ Result-> numero_colonne; restituisce solo il numero di righe interessate da una query. Quando si esegue un conteggio (*) su un tavolo, si restituisce solo una riga in modo che non si possa avere un risultato diverso da 1.


Questo ha funzionato bene per me.

        // Veh Pro Count
    $query_tvp = "SELECT count(*) as total from submit";
    if ($result_tvp = $mysqli->query("$query_tvp")) {
        /* determine number of rows result set */
        $total_tvp = $result_tvp->fetch_row();
        $total_tvp = $total_tvp['0'];
        /* close result set */
        $result_tvp->close();
    }

            echo "Total: $total_tvp";

Per me questo funziona, questo è quando vuoi contare gli elementi ripetuti all'interno di un registro.

Ad esempio: numero di persone che contrassegnano "sì" in un modulo.

tabella: utenti

registro: voto

elemento del registro: sì / no

$sql_user = "SELECT COUNT(*) FROM users WHERE vote = 'yes'";    
$result1 = $mysqli->query($sql_user);    
$row1 = $result1->fetch_row();    
$n_yes = $row1['0'];

$laravel = app();
$version = $laravel::VERSION;




php mysql mysqli