mysql预处理语句-显示一个表


MySQLi Prepared Statements - Displaying a table

我正在制作一个网页,将在表中列出所有用户帐户。在尝试w3学校的方法时,它不起作用。我如何能够做到这一点与PHP准备语句?到目前为止,我有这段代码,但它只会显示第一个mysql结果,次数与数据库中的用户数量相同。

<?php
while($totalusers > 0) {
    if($stmt = $con -> prepare("SELECT id, username, confirmed FROM users")) {
        $stmt -> execute();
        $stmt -> bind_result($id, $username, $confirmed);
        $stmt -> fetch();
        $stmt -> close();
    }
    $totalusers = $totalusers-1;
    echo "<tr><td>" . $id . "</td><td>" . $username . "</td><td>" . $confirmed . "</td></tr>";
}
?>

您准备了语句并执行了$totaluser次。你只需要准备和执行一次。试试这个:

if($stmt = $con -> prepare("SELECT id, username, confirmed FROM users")) {
        $stmt -> execute();
        $stmt -> bind_result($id, $username, $confirmed);
        while($stmt->fetch()) {
            echo "<tr><td>" . $id . "</td><td>" . $username . "</td><td>" . $confirmed . "</td></tr>";
        }
        $stmt -> close();
}

我不测试代码,所以它可能需要一些调整。如果这是你第一次使用PHP, php.net是一个学习PHP的好地方。