Bug #80740 [Opn->Fbk]: Possible "in_array" bug

From: Date: Fri, 12 Feb 2021 16:09:37 +0000
Subject: Bug #80740 [Opn->Fbk]: Possible "in_array" bug
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232099@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80740&edit=1 ID: 80740 Updated by: danack@php.net Reported by: celestinoxp at hotmail dot com Summary: Possible "in_array" bug -Status: Open +Status: Feedback Type: Bug Package: Unknown/Other Function Operating System: Windows 10 PHP Version: 8.0Git-2021-02-12 (snap) Block user comment: N Private report: N New Comment: Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Previous Comments: ------------------------------------------------------------------------ [2021-02-12 16:07:33] celestinoxp at hotmail dot com Description: ------------ I have a code to insert delays of numbers in a mysql table, however values are not correct. I think my code is correct, so, assuming that, i think problem is in php or mysql, it´s for that i need help to check if is a bug in php or not... I have a mysql table with lotto numbers (n1, n2, n3...) and delays (n1_ausencias, n2_ausencias...) my script is to update values (initial 0) to delay values in (n1_ausencias, n2_ausencias, n3_ausencias...) printscreen: https://i.stack.imgur.com/GBZQx.png Test script: --------------- <?php set_time_limit(0); include "../ligar_bd.php"; $i = 0; $result = mysqli_query($db, "SELECT id, data, n1, n2, n3, n4, n5, ns FROM tbl_todos WHERE nome_do_jogo = 'totoloto' ORDER BY tbl_todos.data DESC;"); $f = mysqli_num_rows($result); while ($dados = mysqli_fetch_array($result)){ $chave_bd = array($dados['n1'], $dados['n2'], $dados['n3'], $dados['n4'], $dados['n5']); $conta = -1; ++$i; $n1_encontrou = 0; $n2_encontrou = 0; $n3_encontrou = 0; $n4_encontrou = 0; $n5_encontrou = 0; $ns_encontrou = 0; $result2 = mysqli_query($db, "SELECT id, data, n1, n2, n3, n4, n5, ns FROM tbl_todos WHERE nome_do_jogo = 'totoloto' ORDER BY tbl_todos.data DESC LIMIT $i, $f;"); while ($dados2 = mysqli_fetch_array($result2)){ ++$conta; $n1 = $dados2['n1']; $n2 = $dados2['n2']; $n3 = $dados2['n3']; $n4 = $dados2['n4']; $n5 = $dados2['n5']; $ns = $dados2['ns']; if (in_array($n1, $chave_bd) and ($n1_encontrou == 0)){ $n1_encontrou = 1; $n1_pos = $conta; } if (in_array($n2, $chave_bd) and ($n2_encontrou == 0)){ $n2_encontrou = 1; $n2_pos = $conta; } if (in_array($n3, $chave_bd) and ($n3_encontrou == 0)){ $n3_encontrou = 1; $n3_pos = $conta; } if (in_array($n4, $chave_bd) and ($n4_encontrou == 0)){ $n4_encontrou = 1; $n4_pos = $conta; } if (in_array($n5, $chave_bd) and ($n5_encontrou == 0)){ $n5_encontrou = 1; $n5_pos = $conta; } if ($ns == $dados['ns'] and $ns_encontrou == 0){ $ns_encontrou = 1; $ns_pos = $conta; } //Se encontrou ausencias de todos, não precisa perder mais tempo a percorrer toda a tabela if ($n1_encontrou == 1 and $n2_encontrou == 1 and $n3_encontrou == 1 and $n4_encontrou == 1 and $n5_encontrou == 1 and $ns_encontrou == 1){ break; } } //fecha while dados2 $atualiza = mysqli_query($db, "UPDATE tbl_todos SET n1_ausencias = $n1_pos, n2_ausencias = $n2_pos, n3_ausencias = $n3_pos, n4_ausencias = $n4_pos, n5_ausencias = $n5_pos, ns_ausencias = $ns_pos WHERE tbl_todos.id = $dados[id];"); } //fecha while dados ?> Expected result: ---------------- correct delay values Actual result: -------------- incorrect delay values printscreen: https://i.stack.imgur.com/GBZQx.png ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=80740&edit=1

« previous php.bugs (#232099) next »