Check if the product id exists in the simulator id_product

Asked

Viewed 29 times

0

I have two tables: products and simulator

In the sql table products have:

id, nome

In the sql table simulator have:

id, id_produto, nome_simulador

How I do in PHP so that when listed the products it checks if the id of the product exists in the id_product simulator?

I’m doing so but it doesn’t work

$sql_produtos = "SELECT * FROM produtos order by nome  ";

$result_produtos = $conn->query($sql_produtos);

if ($result_produtos->num_rows > 0) {
    // output data of each row
    while($row_produtos = $result_produtos->fetch_assoc()) {


$sql_simulador  = "SELECT * FROM simulador where id_simulador ='".$row_produtos["id"]."'  order by nome_simulador  ";

$result_simulador  = $conn->query($sql_simulador );

if ($result_simulador ->num_rows > 0) {
    // output data of each row
    while($row_simulador  = $result_simulador ->fetch_assoc()) {



}}
}}

3 answers

0

Your sql_simulador Maybe you’re making the wrong comparison, try replacing it for:

$sql_simulador  = "SELECT * FROM simulador where id_produto ='".$row_produtos["id"]."'  order by nome_simulador  ";

0

Hello, use Prepared Statements, so your code won’t be vulnerable to sql Injection

example with your code:

$sql_simulador = $conn->prepare("SELECT * FROM simulador WHERE id_produto = ? ORDER BY simulador");
$sql_simulador->bind_param("i", $row_produtos["id"]);
$sql_simulador->execute();

0

You have a syntax error:

if ($result_simulador ->num_rows > 0) {

should be:

if ($result_simulador->num_rows > 0) {
  • Extra space before -> does not generate a syntax error

Browser other questions tagged

You are not signed in. Login or sign up in order to post.