Hmm.. Jeg kan dog fortælle at det andet virker i praktisk, jeg skal dog ikke sige om det ene er mere rigtigt end det andet, selvom det virker mere logisk din forklaring.
Dog er det det desværre ikke løsningen på dette problem, selvom det nok er rigtigt(Jeg var måske nok lidt for hurtigt ude med at sige, at det var forkert - det beklager jeg).
Jeg er kommet frem til noget andet, hvor $num_rows = 1, men det er stadig ikke helt rigtigt.
Kode:
$query = "SELECT COUNT(*) FROM posts WHERE post_topic = ?";
if ($stmt = $mysqli->prepare($query)) {
$topic_id = $_GET['id'];
$stmt->bind_param('i', $topic_id);
/* execute query */
$stmt->execute();
/* store result */
$stmt->store_result();
$num_rows = mysqli_stmt_num_rows($stmt);
/* close statement */
$stmt->close();
}
Hvor $num_rows = 1
forstår ikke helt hvorfor du ikke vil bruge $stmt->num_rows; nu da resten af din kode er objektorienteret, skal ikke kunne sige om man kan mixe det, da jeg ikke selv bruger mysqli, men mit bud er stadig:
- $query = "SELECT COUNT(*) FROM posts WHERE post_topic = ?";
- if ($stmt = $mysqli->prepare($query)) {
- $topic_id = $_GET['id'];
- $stmt->bind_param('i', $topic_id);
- $stmt->execute();
- $stmt->store_result();
- $num_rows = $stmt->num_rows;
- $stmt->close();
- var_dump($num_rows);
- }