繁体   English   中英

为什么此php和MySQL不显示结果

[英]Why is this php and MySQL not displaying results

我目前正在尝试连接到数据库,并在表“ STUDENTS”中显示所有学生的名字。 我的连接似乎很好,因为ping()似乎正常。 我没有收到任何错误消息,但是查询/显示结果似乎不起作用。 谁能帮我解决这个问题?

  <?php
    $user = 'root';
    $password = 'root';
    $db = 'gradebook';
    $host = 'localhost';
    $port = 8889;

    $link = mysqli_init();
    $connection = mysqli_real_connect($link, $host, $user, $password, $db, $port)
        or die("Cannot connect to database server.");

    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

    /* check if server is alive */
    if (mysqli_ping($link)) {
        printf ("Our connection is ok!\n </br>");
    } else {
        printf ("Error: %s\n", mysqli_error($link));
    }

    $query = "SELECT * FROM STUDENTS";

    $statement = $connection->prepare($query);
    $statement->execute();
    $statement->bind_result($First_name);
    while ($statement->fetch()) {
        print $First_name . '</br>';
    }

    mysqli_close($link);

    ?>

请先打开错误报告。

然后-仔细阅读mysqli-manuals。

$link = mysqli_init(); 返回对象。 mysqli_real_connect返回bool

而且您正在尝试对bool变量执行prepare方法:

$statement = $connection->prepare($query);

当然,这是行不通的。 如果你有错误报告on -你会看到相关的错误信息。 因此,假设其他一切都很好:

$statement = $link->prepare($query);  // NOT $connection
$statement->execute();
$statement->bind_result($First_name);
while ($statement->fetch()) {
    print $First_name . '</br>';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM