php - [PHP + MySQL]数据库SELECT查询未返回结果

标签 php mysql database mysqli

我试图访问我的数据库以获取一些数据,但它总是返回以下错误。

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\default.php on line 84

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\default.php on line 86

我已经检查了连接,代码正确地输入了数据,只是结果查询不会返回任何值。就我个人而言,我看不出错误在哪里,因为其他查询(比如insert和create)工作得很好。
<?php
    mysqli_select_db($conn, $dbName);
    $sql = "SELECT * FROM tbl_users WHERE id = 1;";
    $result = mysqli_query($conn, $sql);
    echo mysqli_num_rows($result); //Line 84

    if (mysqli_num_rows($result) > 0) { //Line 86
        while($row = mysqli_fetch_assoc($result)) {
            ...
        }
    } else {
        echo "0 results";
    }
?>

如果你需要进一步的信息,请问我,我会尽力提供。
完整代码:
//**Create Connection**//
$conn = mysqli_connect($serverName, $username, $password);

//**Check Connection**//
if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
else { echo "<p>Connected successfully!</p>"; }



//**Create Database**//
$dbName = "myDB";
$sql = "CREATE DATABASE IF NOT EXISTS " . $dbName . " CHARACTER SET utf8 COLLATE utf8_general_ci;";

//Error Handling
if (!mysqli_query($conn, $sql)) { echo "Error creating database: " . mysqli_error($conn); }
else { echo "<p>Database created successfully!</p>"; }

//**Create Table**//
mysqli_select_db($conn, $dbName);
$tbl_name = "tbl_users";
$sql = "CREATE TABLE IF NOT EXISTS " . $tbl_name . " (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstName VARCHAR(64) NOT NULL, lastName VARCHAR(64) NOT NULL, userEmail VARCHAR(256) NOT NULL, reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP) CHARACTER SET utf8 COLLATE utf8_general_ci;";

//Error Handling
if (!mysqli_query($conn, $sql)) { echo "Error creating table: " . mysqli_error($conn); }
else { echo "<p>Table '" . $tbl_name . "' created successfully!</p>"; }

mysqli_select_db($conn, $dbName);
$sql = "SELECT * FROM tbl_users WHERE id = 1";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));

if (!$result = mysqli_query($conn, $sql)) {
printf("Errormessage: %s\n", mysqli_error($conn));
}

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo $row . "<br>";
    }
} else {
    echo "0 results";
}

最佳答案

你的代码没问题。尝试在数据库中执行该SQL查询…

关于php - [PHP + MySQL]数据库SELECT查询未返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089460/

相关文章:

php - jQuery AJAX 实时更新同一页面上的多个元素

php - 如何使用php从mysql访问图像到html表

mysql - 我应该创建一个只有id和name并且一对一属于users表的表吗?

mysql - 不返回具有 LEFT JOINS 和 HAVING 的所有行

sql - 对于一台机器上的结构化数据,NoSQL是否比RDBMS有任何真正的优势?

mysql - 如何重置MYSQL中的停用词?

php - .htaccess 改变自身 - 导致 500 内部服务器错误

PHP 数据库连接注意事项

mysql - 如何在数据库中存储用户之间的消息?

php - sphinkapi + 存储过程