簡體   English   中英

如何使用PDO獲取列的總和?

[英]How to get the sum of a column using PDO?

php說它不能轉換成int:

注意:在第76行的C:\\ xampp \\ htdocs \\ elearning \\ pages \\ student \\ upload.php中,類PDOStatement的對象無法轉換為int:

              $userLoggedIn = $_SESSION['username'];

              $stmt = $conn->prepare(  "SELECT s.grade_level, s.section 
                                        FROM tblusers as u 
                                        JOIN tblstudents as s 
                                        ON u.username = s.username 
                                        WHERE u.username = :username" );
                                        $stmt->execute(array( ':username' => $userLoggedIn ));

              $file = $_FILES['file']['name'];
              $filesize = $_FILES['file']['size'];
              $filepath = "../../assets/uploads/" . $file;

              $filelimit = $conn->prepare("SELECT SUM(f.filesize)
                                           FROM tblfiles AS f 
                                           JOIN tblstudents AS s
                                           ON f.uploader = s.username
                                           WHERE f.uploader = ':username'");
              $filelimit->execute(array(':username'=>$userLoggedIn));

這是第76行:if($ filelimit> 1048576)

我猜你從sum(f.filesize)獲取值有問題。

嘗試給它一個別名

  SELECT SUM(f.filesize) as filesize

然后通過此filesize檢索總和

$filelimit是一個PDOStatement對象。 要獲取結果集,您必須從語句中獲取結果集。

MrVimes有完整的答案。

$ filelimit是一個PDO對象。 不是整數。 您需要使用fetch()從對象fetch()查詢結果

$row = $filelimit->fetch();

$filelimitvalue = $row[0];

然后在第76行的if語句中...

if($filelimitvalue > 1048576)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM