0

I believe it's a simple question I want to run both queries but I don't know how

hello people, I believe this is a simple matter I want execute the two queries

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

code working only with one query:

<?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);
}
?>
Nick
  • 138,499
  • 22
  • 57
  • 95
Matrix
  • 25
  • 7
  • Do the tables have the same column names? – Nick Mar 04 '20 at 00:41
  • 1
    [How can I prevent SQL injection in PHP?](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php). `SELECT * FROM diligencias d JOIN processos p ON d.idprocessor = p.id WHERE p.id = :process_id` and see what comes out. – danblack Mar 04 '20 at 00:47
  • Thanks @danblack , i will read articles from sql injection – Matrix Mar 04 '20 at 03:29

1 Answers1

2

If the tables don't have the same column names, you can simply JOIN them using this query:

SELECT *
FROM processos p
JOIN diligencias d ON d.idprocesso = p.id
WHERE p.d = '$process_id'

If the tables do have similar column names, you will need to provide column aliases for the overlapping names e.g.

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'

Note that in your existing code

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

should be

$_POST['id'] != ""

Also you are vulnerable to SQL injection, and should use a prepared query. For example:

$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);
Nick
  • 138,499
  • 22
  • 57
  • 95