选择记录到阵列

时间:2014-02-07 20:46:50

标签: php

我是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;

}

2 个答案:

答案 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);

您的数据库类的语法可能略有不同,但这可以让您有所了解。