2016-06-08 24 views
0

我有一個代碼查看我的數據庫中的所有數據和代碼工作正常,但沒有WHERE在SQL語句中,但當我嘗試操縱SQL並把WHERE子句不工作了它給了我一個 「0」 值當我附和它..從數據庫查看數據不工作使用PDO

這裏是我的代碼

user.php的

public function province($query) 
{ 
    $stmt = $this->db->prepare($query); 
    $result = $stmt->fetch(PDO::FETCH_ASSOC); 

     echo "<td>" .$result['id']." </td>"; 
     echo "<td>" .$result['area']. "</td>"; 
} 

的index.php

<?php 
    $query="SELECT COUNT(Province) AS id, FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='ALBAY' AND Year_Approved='2014'"; 
    $LTID->province($query); 
?> 

<?php 
    $query="SELECT COUNT(Province) AS id, FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='CAMARINES NORTE' AND Year_Approved='2014'"; 
        $LTID->province($query); 
?> 

下面原代碼 原始代碼這是工作

public function province() 
{ 
$stmt = $this->db->query("SELECT COUNT(ID) AS id, FORMAT((SUM(ID)),0) AS total from rlbet"); 

$result = $stmt->fetch(PDO::FETCH_ASSOC); 

    echo "<td>" .$result['id']." </td>"; 
    echo "<td>" .$result['area']. "</td>"; 
} 

的index.php 原始代碼

<?php 
    echo $LTID->province(); 
?> 

錯誤

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='CAMARINES NORTE' AND Ye' at line 1' in D:\wamp\www\LTID\class.user.php on line 130 
+0

是否有匹配'省= '阿爾拜' AND Year_Approve = '2014''或'省=' 北甘馬粦」 AND任何記錄Year_Approve ='2014''? – Blank

+0

@Reno是的。它們都存儲在數據庫中。 – Trojan

+0

你的查詢結果不包含'id'和'total'。( – Blank

回答

-1

試試這個:

public function province($province, $year_approved) 
{ 
$stmt = $this->db->query("SELECT COUNT(ID) AS id, FORMAT((SUM(ID)),0) AS total from rlbet WHERE Province=:Province AND Year_Approved=:YearApproved"); 
$stmt->bindValue(':Province', $province, PDO::PARAM_STR); 
$stmt->bindValue(':YearApproved', $year_approved, PDO::PARAM_STR); 
$result = $stmt->fetch(PDO::FETCH_ASSOC); 

echo "<td>" .$result['id']." </td>"; 
echo "<td>" .$result['area']. "</td>"; 
} 


<?php 
province('ALBAY', '2014'); 
province('CAMARINES NORTE', '2014');  
?> 
+0

我試試它,但我得到這個錯誤致命錯誤:帶有消息'SQLSTATE [42000]的未捕獲異常'PDOException':語法錯誤或訪問衝突:1064您的SQL語法中有錯誤;請檢查((SUM(Area)),0)AS area FROM rlbet WHERE Province ='CAMARINES NORTE'和Ye'in line 1'在D:\中使用正確語法對應的MySQL服務器版本的手冊。 wamp \ www \ LTID \ class.user.php上線130 – Trojan

+0

解答已更新。 – RAM

+0

但如果我在其他頁面中回顯它會怎麼樣? – Trojan