0
mySQL에서 데이터를 반환하는 API를 빌드하려고합니다. 이것은 PDO를 사용한 나의 첫 번째시기 중 하나입니다.PDO - 함수에 ID를 전달하는 코드 오류
tblcemetery_ID = 무엇이든지 페이지로 전달되는 tblnames에서 모든 이름을 반환하기 위해이 아래 함수에 ID를 전달하려고합니다. 모든 포인터를 감상 할 수있다
나는 SQL 자체가 사운드가 있음을 확인했다
....
결과 항상
{ "메시지": "사상자가 찾을 수 없습니다."}라고 당신은
bindParam
함수는 매개 변수가 누락
<?php
class casualty{
// database connection and table name
private $conn;
private $table_name = "tblcasualty";
// object properties
public $id;
public $fldgraphicname;
public function __construct($db){
$this->conn = $db;
}
// used by select drop-down list
public function cemetery(){
// query to read single record
$query = "SELECT *
FROM
`mapleleaf`.`tblnames`
WHERE
`tblcemetery_ID` = ?
ORDER BY ID
";
// prepare query statement
$stmt = $this->conn->prepare($query);
// bind id of product to be updated
$stmt->bindParam(1, $this->id);
// execute query
$stmt->execute();
return $stmt;
}
}
?>
<?php
// required header
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
// include database and object files
include_once '../config/database.php';
include_once '../objects/casualty.php';
// instantiate database and casualty object
$database = new Database();
$db = $database->getConnection();
// initialize object
$casualty = new casualty($db);
// set ID property of record to read
$casualty->id = isset($_GET['id']) ? $_GET['id'] : die();
// query categorys
$stmt = $casualty->cemetery();
$num = $stmt->rowCount();
// check if more than 0 record found
if($num>0){
// products array
$casualtys_arr=array();
$casualtys_arr["records"]=array();
// retrieve our table contents
// fetch() is faster than fetchAll()
// http://stackoverflow.com/questions/2770630/pdofetchall-vs-pdofetch-in-a-loop
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
// extract row
// this will make $row['name'] to
// just $name only
extract($row);
$casualty_item=array(
"ID" => $ID,
"filename" => $fldgraphicname
);
array_push($casualtys_arr["records"], $casualty_item);
}
echo json_encode($casualtys_arr);
}
else{
echo json_encode(
array("message" => "No Casualties found.")
);
}
?>
불행하게도 여전히 같은 일을합니다. –
나는이 줄을 사용하여 작업했다. '$ row = $ stmt-> fetch (PDO :: FETCH_ASSOC);' –