douyi1982 2016-08-01 11:48
浏览 81
已采纳

如何修复mysqli_query()和mysqli_fetch_array()错误

I'm trying to make a PHP script that prints text from file to website on button click.

This is my code:

<?php
    mysqli_connect("host", "username", "password", "dbname");
    if (isset($_POST['button'])) {
        mysqli_query("SELECT name,lastname FROM users ORDER BY RAND()");
        $name = null;
        $lastname = null;
        while ($row = mysqli_fetch_array()) {
            $name = $row['name'];
            $lastname = $row['lastname'];
        }
        echo '<p><small>Output:</small></p><pre style="min-width:auto;display:table;">' . $name . '_' . $lastname . '</pre>Format: <b>name_lastname</b> <span style="width:310px;">';
    }
?>
<form method="POST">
    <button type="submit" class="btn btn-default" name="button">button</button>
    <br>
</form>

And this is the error that I get every time when the button is clicked: image of error

Anyone knows how to fix this?

  • 写回答

2条回答 默认 最新

  • dselp3944 2016-08-01 11:53
    关注

    You need to introduce database connection variable which most mysqli_* functions required, $con in your modified script:

    <?php
        $con = mysqli_connect("host", "username", "password", "dbname") or die(mysqli_error($con));
        if (isset($_POST['button'])) {
            $result = mysqli_query($con, "SELECT name,lastname FROM users ORDER BY RAND()");
            $name = null;
            $lastname = null;
            while ($row = mysqli_fetch_array($result)) {
                $name = $row['name'];
                $lastname = $row['lastname'];
            }
            echo '<p><small>Output:</small></p><pre style="min-width:auto;display:table;">' . $name . '_' . $lastname . '</pre>Format: <b>name_lastname</b> <span style="width:310px;">';
        }
    ?>
    <form method="POST">
        <button type="submit" class="btn btn-default" name="button">button</button>
        <br>
    </form>
    

    In addition you need to pass result set identifier returned by mysqli_query(), $result in that case. Everything can be found at W3Schools.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?