Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将用户输入数据与mysql数据库进行比较_Php_Mysql_Database - Fatal编程技术网

Php 将用户输入数据与mysql数据库进行比较

Php 将用户输入数据与mysql数据库进行比较,php,mysql,database,Php,Mysql,Database,所以我最近在一个市场找到了一份工作,他们有很多我需要知道的PLU。所以为了帮助我,我想做点什么来帮助我 我创建了一个数据库,其中的一些项目如下所示: id art img plu_code 在我的index.php中,连接到数据库并选择一个随机id来显示 $query = "SELECT * FROM produto ORDER BY RAND() LIMIT 1"; if ($result = $mysqli->query($query)) { while ($row = $

所以我最近在一个市场找到了一份工作,他们有很多我需要知道的PLU。所以为了帮助我,我想做点什么来帮助我

我创建了一个数据库,其中的一些项目如下所示:

id art img plu_code
在我的index.php中,连接到数据库并选择一个随机id来显示

$query = "SELECT * FROM produto ORDER BY RAND() LIMIT 1";

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $imagem_produto = $row["imagem"];
        $nome_produto = $row["artigo"];
        $plu_produto = $row["plu"];

        echo '<center><tr>
                  <td><img height="150" width="150" src="'.$imagem_produto.'"></td><br> 
                  <td>'.$nome_produto.'</td><br>
                  <td>'.$plu_produto.'</td>  
              </tr></center>';
    }
    $result->free();

    if ($plu_produto === $_GET['U']) {
        echo "Correct. Please wait!";
        header("Refresh:3");
    }else{
        echo 'Wrong.';
    }
}

?>

<html>
<body>
<form method="post">
<input type="text" name="U"/>
<input type="submit" />
 </form>
</body>

</html>
$query=“按兰德从生产订单中选择*限制1”;
如果($result=$mysqli->query($query)){
而($row=$result->fetch_assoc()){
$imagem_produto=$row[“imagem”];
$nome_produto=$row[“artigo”];
$plu_produto=$row[“plu”];
回声'

“.$nome_produto.”
“.$plu_produto” '; } $result->free(); 如果($plu_produto==$\U GET['U'])){ echo“正确,请稍候!”; 标题(“刷新:3”); }否则{ 回音“错了”; } } ?>

如何将用户输入与数据库进行比较,然后显示是否正确?谢谢大家!

这与将用户输入与数据库进行比较不同

你的代码

if ($_POST['U'] === $plu_produto) {
与while循环读取的最后一行进行比较,结果与预期不符


连接到数据库后,使用代码显示第一次运行时显示的所有数据。在用户输入之后,您应该从数据库本身选择与“U”匹配的相关行,其中不应该有任何while循环,但sql select本身应该只返回一行。

您应该只查询特定的PLU,而不是整个表

您还需要使用
$\u POST
,而不是
$\u GET
,因为表单具有
method=“POST”


使用
SELECT
查询,使用
WHERE
条件测试输入的代码是否存在。欢迎使用堆栈溢出!StackOverflow不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并点击:)您好,我已经更新了代码,谢谢!谢谢你,先生!你建议我读什么来获得更多关于php的知识?有很多教科书和教程网站,很抱歉我没有任何具体的建议。你是如何在没有任何经验的情况下得到这份工作的?您好,这份工作与编程无关,仅供个人使用。我在一家零售市场找到了一份工作,我需要知道150个密码。所以,我现在没有用纸来读,而是用一些“游戏”来帮助我:pI被误解了,我以为这是分配给你的任务。试过这个吗?对进一步的疑问给予反馈。
if (isset($_POST['U'])) {
    $plu_produto = $_POST['U'];
    $stmt = $mysql->prepare("SELECT 1 FROM produto WHERE plu = ?");
    $stmt->bind_param("s", $plu_produto);
    $stmt->execute();
    $stmt->store_result();
    if ($stmt->num_rows > 0) {
        echo "Correct. Please wait!";
        header("Refresh:3");
    }else{
        echo 'Wrong.';
    }
    exit;
}