猿问

如何在同一个向量中组合 2 个查询(json_encode 和 php)

我相信这是一个简单的问题,我想同时运行这两个查询,但我不知道如何


大家好,我相信这是一件简单的事情,我想执行这两个查询


SELECT * FROM diligencias WHERE idprocesso = '$process_id'和 SELECT * FROM processos WHERE id = '$process_id'


仅适用于一个查询的代码:


<?php

include("../../includes/conectar.php");


if(isset($_POST['id']) && isset($_POST['id']) != "")

{

    $process_id = $_POST['id'];

    $qryLista = mysqli_query($con, "SELECT * FROM processos WHERE id = '$process_id'");


    while($resultado = mysqli_fetch_assoc($qryLista)){

        $vetor[] = array_map('utf8_encode', $resultado); 

    }    


    echo json_encode($vetor);

}

?>


森林海
浏览 121回答 1
1回答

临摹微笑

如果表没有相同的列名,您可以JOIN使用以下查询来简单地使用它们:SELECT *FROM processos pJOIN diligencias d ON d.idprocesso = p.idWHERE p.d = '$process_id'如果表确实具有相似的列名,您将需要为重叠名称提供列别名,例如SELECT p.*, d.id AS diligencias_id, d.xxx AS diligencias_xxxFROM processos pJOIN diligencias d ON d.idprocesso = p.idWHERE p.d = '$process_id'请注意,在您现有的代码中isset($_POST['id']) != ""应该$_POST['id'] != ""此外,您很容易受到 SQL 注入的影响,并且应该使用准备好的查询。例如:$process_id = $_POST['id'];$stmt = $con->prepare("SELECT *&nbsp; &nbsp; FROM processos p&nbsp; &nbsp; JOIN diligencias d ON d.idprocesso = p.id&nbsp; &nbsp; WHERE p.d = ?");$stmt->bind_param('i', $process_id);$qryLista = $stmt->get_result();while($resultado = $qryLista->fetch_assoc()){&nbsp; &nbsp; $vetor[] = array_map('utf8_encode', $resultado);&nbsp;}echo json_encode($vetor);
随时随地看视频慕课网APP
我要回答