PHP PDO Data_length 总是 returns “0”
PHP PDO Data_length always returns "0"
好吧,我现在只是尝试了大约两个小时的以下内容,但我无法让它工作。下面的代码总是return "0"。拜托,任何人都可以看到问题出在哪里。这应该是一种魅力。在 PhpMyAdmin 中,当我 运行 语句时它工作正常。
实际上,这是来自 SO 上另一个问题的 copy/pasted 代码,已被接受为有效答案。看看 here.
编辑:
使用不会抛出任何错误:
error_reporting(-1);
和
PDO::ERRMODE_EXCEPTION
。
更新:
当然,我只从查询中获得 Data_lenght
为“0”的第一行。我还测试了 fetchAll
,并尝试在获取时访问 Data_length
索引。运气不好。
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<?php
try {
error_reporting(-1);
$host_name = "my_hsot";
$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 . "\n" . $row["Data_length"];
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
</body>
</html>
感谢任何帮助。
PDO总是returns“0”因为$row = $sth->fetch(PDO::FETCH_ASSOC);
returns只有查询的第一行,而Data_length
的索引有“0”,如它可以是任何其他值。
好吧,我现在只是尝试了大约两个小时的以下内容,但我无法让它工作。下面的代码总是return "0"。拜托,任何人都可以看到问题出在哪里。这应该是一种魅力。在 PhpMyAdmin 中,当我 运行 语句时它工作正常。
实际上,这是来自 SO 上另一个问题的 copy/pasted 代码,已被接受为有效答案。看看 here.
编辑:
使用不会抛出任何错误:
error_reporting(-1);
和
PDO::ERRMODE_EXCEPTION
。
更新:
当然,我只从查询中获得 Data_lenght
为“0”的第一行。我还测试了 fetchAll
,并尝试在获取时访问 Data_length
索引。运气不好。
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<?php
try {
error_reporting(-1);
$host_name = "my_hsot";
$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 . "\n" . $row["Data_length"];
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
</body>
</html>
感谢任何帮助。
PDO总是returns“0”因为$row = $sth->fetch(PDO::FETCH_ASSOC);
returns只有查询的第一行,而Data_length
的索引有“0”,如它可以是任何其他值。