php - 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 经济托管包。
有什么想法吗?提前致谢。
解决方案
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
推荐阅读
- javascript - 为odoo反应本机应用程序
- flutter - 将 Flutter 动画直接渲染到视频
- mysql - Mysql获取当前计数直到结果
- c++ - 尝试删除 char 数组时的 SIGABRT
- macos - Jenkins - 在 Mac 上使用 maven 构建 JavaFX 原生安装程序
- php - php在catch中捕获简单异常和pdo异常
- angular - 如何在生产中以角度获取可编辑的环境变量文件
- ansible - Ansible package_facts:通过与另一个简单列表比较来设置事实
- sql - SQL左连接多个表
- mysql - Google Cloud mySQL 与第二代 GAE Python 3.7 的连接