Uczę się przygotowanych instrukcji i próbuję pracować z zapytaniem, które daje wiele wierszy wyników. W tej chwili próbuję po prostu dowiedzieć się, jak określić liczbę wierszy, a następnie wyświetlić ten numer w html.Przygotowane instrukcje - liczba wierszy
Moja przygotowana instrukcja wygląda następująco:
if($stmt = $mysqli -> prepare("SELECT field1, field2, field3 FROM table WHERE id= ?ORDER BY id ASC"))
{
/* Bind parameters, s - string, b - blob, i - int, etc */
$stmt -> bind_param("i", $id);
$stmt -> execute();
/* Bind results */
$stmt -> bind_result($testfield1, $testfield2, $testfield3);
/* Fetch the value */
$stmt -> fetch();
/* Close statement */
$stmt -> close();
}
Rozumiem, że mam najpierw zapisać wyniki, a następnie użyć num_rows
, tak:
$stmt->store_result();
$stmt->num_rows;
Jednak jestem działa i wydaje się, że strona się podła, kiedy umieszczę tam ten kod. Nie byłem nawet w stanie przejść do następnego etapu wyświetlania liczby wierszy
Pytanie brzmi: czego mi brakuje w zakresie obliczania liczby wierszy w przygotowanym oświadczeniu, a następnie jak mógłbym wyświetlić go za pomocą <?php echo '# rows: '.$WHATGOESHERE;?>
Dzięki !!
Gdzie pójść w przygotowanym oświadczeniu napisałem? Po wykonaniu execute()? Po bind_result, lub pobrać? Czy to ma znaczenie? – Kevin
@Kevin Nie wierzę w to. Po prostu upewnij się, że idzie po wykonaniu i powinno być dobrze –
Aha i przy okazji zapomniałeś spacji między '?' I 'ZAMÓWIENIE PRZEZ '. Zaktualizuję moją odpowiedź, aby naprawić ten –