MySQLi准备语句 - 显示表

时间:2014-03-27 01:20:19

标签: php mysqli prepared-statement

我正在创建一个网页,列出表格中的所有用户帐户。从w3schools尝试这种方法时,它没有用。如何使用PHP预处理语句执行此操作?到目前为止我有这个代码,但它只显示第一个MySQLi结果,与数据库中的用户数量一样多。

<?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>";
}
?>

1 个答案:

答案 0 :(得分:0)

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

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的好地方。