글쎄, 이제 약 2 시간 동안 다음을 시도하고 있습니다. 제대로 작동하지 않습니다. 다음 코드는 항상 "0"을 반환합니다. 제발, 누구든지 문제가 어디 있는지 알 수 있습니다. 이것은 매력으로 작동합니다. PhpMyAdmin에서 문을 실행하면 제대로 작동합니다.PHP PDO Data_length는 항상 "0"을 반환합니다.
사실, 이것은 실제 답변으로 받아 들여진 SO에 대한 다른 질문의 복사/붙여 넣기 코드입니다. 그것을 확인하십시오 here.
편집 : 오류가 사용하여 발생하지 않습니다 : error_reporting(-1);
및 PDO::ERRMODE_EXCEPTION
.
UPDATE : 은 확실히, 나는 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>
도움을 주시면 감사하겠습니다.