我是PHP的neubie。我需要构建一些Web服务,所以我有问题..请帮助我。
我有这个代码,我必须将Select的记录和JSON中的返回放入数组中。
代码......
function redeem() {
// Check for required parameters
if (isset($_POST["id_cliente"]) && isset($_POST["id_sucursal"])) {
// Put parameters into local variables
$cliente = $_POST["id_cliente"];
$sucursal = $_POST["id_sucursal"];
$stmt = $this->db->prepare('SELECT id_arbitro FROM arbitro WHERE id_cliente =? AND id_sucursal =?') or die(mysqli_error($this->db));
$stmt->bind_param("ii", $cliente, $sucursal);
$stmt->execute();
//$stmt->bind_result($id_arbitro);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$cuantos = count($result);
echo "$cuantos";
$registros = 0;
/*while ($stmt->fetch()) {
$registros ++;
// Return unlock code, encoded with JSON
$result = array("id_arbitro" => $stmt,);
echo "$id_arbitro !";
}
*/
$stmt->close();
if ($registros < 0) {
sendResponse(400,"No existen arbitros con los parámetros recibidos");
return false;
}
//echo json_encode($result);
sendResponse(200, "FIN");
//printf("ERROR %s",$registros);
return true;
}
sendResponse(400, 'Invalid request');
return false;
}
答案 0 :(得分:0)
要对查询结果进行编码,请使用类似
的内容$statement=$pdo->prepare("SELECT * FROM table");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
$json=json_encode($results);
答案 1 :(得分:0)
根据您的评论,您无法理解如何将它们全部放入数组中。
首先,确保您用于数据库调用的任何内容都没有fetchAll
样式函数,可以为您执行此操作。
如果您仍然需要这样做,您需要先定义一个数组,然后再添加它:
$results = array();
while ($record = $stmt->fetch()) {
$registros ++;
$results[] = $record;
}
print json_encode($results);
您的数据库类的语法可能略有不同,但这可以让您有所了解。