PDO fetch returns only first row(PDO fetch 只返回第一行)
本文介绍了PDO fetch 只返回第一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用以下代码连接数据库,获取Data_length
索引列,并根据数据计算数据库大小.
I'm using the following code to make a connection to the database, fetch the Data_length
index column, and calculate the database size based on the data.
出于某种原因,PDO 将始终返回0",这是第一行中 Data_length
索引的值.无论我做什么,我都只得到第一行索引.
For some reason PDO will always return "0", which is the value for the Data_length
index in the first row. Whatever I do, I only get the first rows index.
数据库为 MySQL,引擎为 MyISAM.
The database is MySQL, the engine MyISAM.
PHP 版本:5.5.38
MySQL 版本:5.5.50
PHP Version: 5.5.38
MySQL Version: 5.5.50
这是源代码.
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<?php
try {
error_reporting(-1);
$host_name = "my_host";
$database = "my_db";
$user_name = "my_user";
$password = "my_pwd";
$conn = new PDO("mysql:host=$host_name;dbname=$database", $user_name, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $conn->query('SHOW TABLE STATUS');
$dbSize = 0;
$row = $sth->fetch(PDO::FETCH_ASSOC);
$dbSize = $row["Data_length"];
$decimals = 2;
$mbytes = round($dbSize/(1024*1024),$decimals);
echo $dbSize . "
" . $row["Data_length"];
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
</body>
</html>
推荐答案
添加一个 while 循环,
Add a while loop,
while($row= $sth->fetch( PDO::FETCH_ASSOC )){
echo $row['your_field_name'];
}
或者你可以使用 fetchAll
$rows = $sth->fetchAll();
print_r($rows);
这篇关于PDO fetch 只返回第一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:PDO fetch 只返回第一行


猜你喜欢
- PHP foreach() 与数组中的数组? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01