Javascript を使用して API を作成していますが、セキュリティ上の理由から、PHP データベースの呼び出しを PDO に切り替えました。
そうして以来、空の配列を返すクエリに問題がありました (注: MySQL 構文エラーではありません)。最新の例は次のとおりです。
/*JAVASCRIPT*/
var getSampleEntity = function(params) {
//Returns Object
return $.ajax({
url: URL + 'downloadQuadrat_Organism.php',
type: 'POST',
data: { 'organismID': params.oid, 'quadratID': params.qid },
dataType: dataType
});
}
ブラウザから送信されたヘッダー データ:
/*PACKAGE HEADER INFO*/
Request URL:http://..../downloadQuadrat_Organism.php
Request Method:POST
Status Code:200 OK
...
Form Data:
organismID:3
サーバーに送信されるもの...
/*PHP*/
//Init
$resultset = array();
$quadratID = $_POST['quadratID'];
$organismID = $_POST['organismID'];
$sql = 'SELECT * FROM Quadrat_Organism WHERE organismID = :organismID OR WHERE quadratID = :quadratID';
//Main
try{
$db = connect();
$stmt = $db->prepare($sql);
$stmt->bindParam(':quadratID', $quadratID);
$stmt->bindParam(':organismID', $organismID);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
$resultset[] = $row;
//Return result in JSON
$resultset = json_encode($resultset);
print_r($resultset);
} catch(PDOException $e){
print 'Error!: '.$e->getMessage().'<br/>';
}//End try catch
$db = null;
JSON の結果の配列を期待します (データベースのダミーデータは 5 つの結果を返す必要があります)、代わりに [] (空の JSON 配列) を受け取ります。
問題は PHP レベルにあると思いますが、問題を特定できません。