bodo92
Aktives Mitglied
Abend, eigentlich will ich das Ergebnis meiner MySQL Abfrage in einen Array legen was mir aber nicht gelingt.
Vorerst bitte ich aber um Erklärung weshalb die eine Methode funktioniert und die andere nicht..
Funktioniert: (Es wurden 3 Zeilen gefunden.)
Funktioniert nicht: (Es wurden 0 Zeilen gefunden.)
Würde lieber mit prepare arbeiten dann muss ich mir keine gedanken um injection machen..
Ich bin den Code 5 mal durchgegangen das müsste doch so stimmen.
Vorerst bitte ich aber um Erklärung weshalb die eine Methode funktioniert und die andere nicht..
Funktioniert: (Es wurden 3 Zeilen gefunden.)
Code:
$user_id = $_SESSION['user_id'];
$query = "
SELECT `r`.`recht`
FROM `benutzer_rechte` AS `br`
LEFT OUTER JOIN `rechte` AS `r` ON `r`.`id` = `br`.`recht_id`
WHERE `br`.`benutzer_id` = '$user_id'
";
if ($result = $mysqli->query($query)) {
echo "Es wurden ", $result->num_rows ." Zeilen gefunden.<br/>";
$result->close();
}
Funktioniert nicht: (Es wurden 0 Zeilen gefunden.)
Code:
$user_id = $_SESSION['user_id'];
$query = "
SELECT `r`.`recht`
FROM `benutzer_rechte` AS `br`
LEFT OUTER JOIN `rechte` AS `r` ON `r`.`id` = `br`.`recht_id`
WHERE `br`.`benutzer_id` = ?
";
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param("i", $user_id);
$stmt->execute();
echo "Es wurden ", $stmt->num_rows ." Zeilen gefunden.<br/>";
$stmt->close();
}
Würde lieber mit prepare arbeiten dann muss ich mir keine gedanken um injection machen..
Ich bin den Code 5 mal durchgegangen das müsste doch so stimmen.
Zuletzt bearbeitet: