mysqli_num_rows() 函数的返回值为0,为什么
时间: 2024-02-26 17:53:44 浏览: 11
mysqli_num_rows() 函数返回结果集中的行数。如果结果集为空或者不可用,则返回 0。
如果 mysqli_num_rows() 函数返回 0,则可能是以下原因之一:
1. 结果集为空:如果使用 SELECT 查询语句时,查询的结果集为空,则 mysqli_num_rows() 函数返回 0。这通常表示查询条件不符合要求,或者查询的表中没有匹配的数据。
2. 结果集未初始化:如果在调用 mysqli_num_rows() 函数之前没有调用 mysqli_query() 函数或者查询语句执行失败,则结果集未初始化。这种情况下,mysqli_num_rows() 函数将返回 0。
3. 结果集类型不正确:如果使用的查询语句不是 SELECT 语句(例如 INSERT、UPDATE 或 DELETE 语句),则 mysqli_num_rows() 函数无法返回正确的行数。这种情况下,mysqli_num_rows() 函数将返回 0。
因此,你需要检查以上三种情况,找出问题所在。如果是因为结果集为空导致的问题,可以检查查询条件是否正确;如果是因为结果集未初始化导致的问题,可以检查 mysqli_query() 函数调用是否正确;如果是因为结果集类型不正确导致的问题,可以检查使用的查询语句是否正确。
相关问题
mysqli_query () 函数的返回值 如何 保存在 localStorage中
mysqli_query() 函数是 PHP 用于执行 SQL 查询的函数,它的返回值是一个 mysqli_result 对象,包含查询结果的所有行。
要将查询结果保存在 localStorage 中,您需要先将结果转换为 JSON 格式,然后将 JSON 数据存储到 localStorage 中。下面是示例代码:
```php
<?php
// 连接到数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
// 执行 SQL 查询
$result = mysqli_query($conn, 'SELECT * FROM mytable');
// 将查询结果转换为数组
$rows = array();
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
// 将数组转换为 JSON 格式
$json_data = json_encode($rows);
// 将 JSON 数据存储到 localStorage 中
echo "<script>localStorage.setItem('mydata', '$json_data');</script>";
?>
```
在上面的示例中,首先连接到数据库,然后执行 SQL 查询,并将查询结果转换为数组。接下来,将数组转换为 JSON 格式,并使用 JavaScript 将 JSON 数据存储到 localStorage 中。
注意,在将 JSON 数据存储到 localStorage 中时,需要使用 JavaScript 代码。因此,在 PHP 中,您需要使用 echo 命令输出 JavaScript 代码,以便浏览器正常执行。
mysqli_num_rows
mysqli_num_rows() 是一个 PHP 函数,用于获取 MySQL 查询结果集中的行数。它接受一个结果集作为参数,返回结果集中行的数量。例如:
```php
$result = mysqli_query($con, "SELECT * FROM users");
$num_rows = mysqli_num_rows($result);
echo "There are " . $num_rows . " rows in the users table.";
```
这将输出类似于 "There are 50 rows in the users table." 的消息,表示 users 表中有 50 行数据。