2017-09-19 5 views
0

mySQLからデータを返すAPIを構築しようとしています。 PDOを初めて使用しています。オブジェクトに一致させようとすると、PDO列のマッピングが機能しない

私が以下のことを行うと、IDだけがマップされ、それ以外は何も得られません。私はこれを初めて使ったので、どこを見るか分からない。また、私はこれをローカルで実行することができませんでしたので、Liveサイトに対して実行されているため、デバッグする方法を考えることはできません。

クエリの結果は、私はそれらの値のための鍵は、内のキーを変更するには、SQLクエリのように$row['tblcemetery.fldcemetery']

使用する必要があります考えて、この

{ 
ID: "18", 
Name: null, 
Country: null 
} 
class cemetery{ 

    // database connection and table name 
    private $conn; 

    // object properties 
    public $id; 
    public $fldcemetery; 
    public $fldcountry;  

    public function __construct($db){ 
     $this->conn = $db; 
    } 

    public function readOne(){ 
     // query to read single record 
       $query = "select tblcemetery.id, tblcemetery.tblcountry_ID, tblcemetery.fldcemetery, tblcountry.fldcountry from tblcemetery 
       left join tblcountry on 
       tblcemetery.tblcountry_ID = tblcountry.ID 
       WHERE 
       id = ? 
       ORDER BY 
         fldcemetery 
       LIMIT 0,1"; 

     // prepare query statement 
     $stmt = $this->conn->prepare($query); 

     // bind id of product to be updated 
     $stmt->bindParam(1, $this->id); 

     // execute query 
     $stmt->execute(); 

     // get retrieved row 
     $row = $stmt->fetch(PDO::FETCH_ASSOC); 

     // set values to object properties 
     $this->fldcemetery = $row['fldcemetery']; 
     $this->fldcountry = $row['fldcountry'];  

    } 

} 
// get database connection 
$database = new Database(); 
$db = $database->getConnection(); 

// prepare cemetery object 
$cemetery = new cemetery($db); 

// set ID property of record to read 
$cemetery->id = isset($_GET['id']) ? $_GET['id'] : die(); 

// read the details of cemetery to be edited 
$cemetery->readOne(); 

// create array 
$cemetery_arr = array(
    "ID" => $cemetery->id, 
    "Name" => $cemetery->fldcemetery, 
    "Country" => $cemetery->fldcountry 
); 

// make it json format 
print_r(json_encode($cemetery_arr)); 
+1

されている必要があり、あなたが戻って行を取得できますか?同じデータを '返し –

+0

はい、{ ID: "18"、 名:ヌル、 国:ヌル }' –

+1

ただ明確化のために、私は、MySQL Workbenchを、phpMyAdminのなど –

答えて

0
WHERE id = ? 

WHERE tblcemetery.id = ? 
0

のように見えます結果セットあなたは(スワップアウト?18のようなIDのために)個別のクエリを実行する場合

関連する問題