Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A matriz de saída do MySQL/PHP repete a consulta e mostra o resultado, como posso remover a consulta?


Em primeiro lugar, eu recomendo que você use declarações preparadas.

Segundo, você obtém sua consulta como uma chave de matriz porque o resultado não tem alias, então é por isso que você a vê em sua matriz.

Terceiro, você realmente não precisa de EXISTS aqui.

Em quarto lugar, você não precisa de um loop aqui também:
$query = "SELECT COUNT(*) FROM wp_woocommerce_order_items as item_exists WHERE order_id = $sdata";
if ($result = mysqli_query($conn, $query)) {

    $newArr = array();
    $value = mysqli_fetch_object($result);
    $newArr[] = (bool) $value->item_exists;

    echo json_encode($newArr); // get all products in json format.    
}

Usando declarações preparadas:
$stmt = $mysqli->prepare('SELECT COUNT(*) as item_exists FROM wp_woocommerce_order_items WHERE order_id = ?');
$stmt->bind_param("i", $sdata);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$stmt->close();

echo json_encode((bool) $row['item_exists']);