为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
森林海 2022-10-14 15:09:13
我相信这是一个简单的问题,我想同时运行这两个查询,但我不知道如何大家好,我相信这是一件简单的事情,我想执行这两个查询SELECT * FROM diligencias WHERE idprocesso = '$process_id'和 SELECT * FROM processos WHERE id = '$process_id'仅适用于一个查询的代码:<?phpinclude("../../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);}?>
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

如果表没有相同的列名,您可以JOIN使用以下查询来简单地使用它们:


SELECT *

FROM processos p

JOIN diligencias d ON d.idprocesso = p.id

WHERE p.d = '$process_id'

如果表确实具有相似的列名,您将需要为重叠名称提供列别名,例如


SELECT p.*, d.id AS diligencias_id, d.xxx AS diligencias_xxx

FROM processos p

JOIN diligencias d ON d.idprocesso = p.id

WHERE p.d = '$process_id'

请注意,在您现有的代码中


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

应该


$_POST['id'] != ""

此外,您很容易受到 SQL 注入的影响,并且应该使用准备好的查询。例如:


$process_id = $_POST['id'];

$stmt = $con->prepare("SELECT *

    FROM processos p

    JOIN diligencias d ON d.idprocesso = p.id

    WHERE p.d = ?");

$stmt->bind_param('i', $process_id);

$qryLista = $stmt->get_result();

while($resultado = $qryLista->fetch_assoc()){

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

}

echo json_encode($vetor);


查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号