首页 > 解决方案 > MySQL 中的表未显示在网站上。查询返回 0 行

问题描述

我将不胜感激与下面描述的我的问题有关的任何见解。请原谅我的无知,因为我正在努力减少它。

我正在使用 PHPMyAdmin 创建数据库,并使用 php 将网站连接到数据库。我已经确认数据库确实连接了,我可以在网站上创建一个表单来填充数据库中的字段。

我不能做的是创建一个返回结果并将其发布在网站上的查询。我使用过 YouTube 视频、Code Igniter 教程和 W3 教程,并且不断遇到同样的问题。推论让我相信我的数据库存在问题。

这是相关代码:

 <?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "news";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, title, slug FROM ci_nws";
$result = mysqli_query($conn, $sql);


if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "<br> id: ".$row["id"]. " - Name: ".$row["title"]. " " .$row["slug"] . "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>

错误信息是指第 18 行

if (mysqli_num_rows($result) > 0) {

“0 结果”确实显示在错误消息下方。

我在用

数据库服务器 服务器:通过 UNIX 套接字的 Localhost 服务器类型:MySQL 服务器连接:未使用 SSL 文档服务器版本:5.6.46-cll-lve - MySQL 社区服务器(GPL)协议版本:10

服务器字符集:UTF-8 Unicode (utf8)

Web 服务器 cpsrvd 11.78.0.38 数据库客户端版本:libmysql - 5.1.73 PHP 扩展:mysqliDocumentation curlDocumentation mbstringDocumentation PHP 版本:7.2.7

phpMyAdmin 版本信息:4.8.3

如果相关,我正在使用 Godaddy 经济托管包。

有什么想法吗?提前致谢。

标签: phpmysqlmysqli

解决方案


You missed the database name from the connection

<?php
$servername = "localhost";
$username = "";     //<-- needs a valid username
$password = "";     //<-- needs a valid passsword for this username
$dbname = "news";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
//             -----------------missing part here     ^^^^^^^

Remember, A MySQL instance can have multiple databases within it. So you must select the database you want to use either as part of the connection call or as a seperate mysqli_select_db() call


推荐阅读