1
我正在构建一个API与JavaScript和出于安全原因,我将我的PHP数据库调用切换到PDO。Javascript到PHP PDO到MySQL查询返回空
因为这样做,我有问题返回空数组(注意:不是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数组(数据库中的dummy-data应该返回5个结果),而是我收到[](空的JSON数组)。
我认为问题出在PHP级别,但我无法确定问题。
是否因为在绑定到查询之前必须设置$ quadratID? –
你是什么意思?你有它。这是你的查询的问题,这里的答案指出 – Ian