php - 更新数据时获取特定行

标签 php mysql

我正在尝试制作一个简单的 CRUD(更新)系统。

我已经声明了 fetch 变量,但它说它未定义。

当我修改特定行上的数据时,我想在修改之前查看文本框中的旧数据,但它只显示:

Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 85
Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 89
Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 93

这是我的代码:

        if ($first != '' && $first != ' ' && $last != '' && $last != ' '&& $email != "" && $email != " " && ctype_alpha(str_replace(' ',"", $first)) && ctype_alpha(str_replace(' ',"", $last)) && filter_var($email, FILTER_VALIDATE_EMAIL))
        {
            $mysql_query = "UPDATE register SET fname='$first', lname='$last', email='$email' WHERE id=".$_GET['id'];

            $query3 = mysql_query($mysql_query);
            if($query3)
            {
                header('location: view.php');
            }
            $id=$_GET['id'];
            $query_results = mysql_query("SELECT id, fname, lname, email FROM register WHERE id='$id'") or die(mysql_error());

            while($fetch = mysql_fetch_array($query_results))
            {

            }
        }
    }

    ?>
        <form method="POST" action="">
            <input type="hidden" name="id" value="<?php echo $fetch['id'];?>"/>
            First name:
            <br>
            <input type="text" name="fname" style="width: 800px; height: 50px" value="<?php echo $fetch['first'];?>"/>&nbsp;<?php echo $fnameErr; ?>
            <br>
            Last name:
            <br>
            <input type="text" name="lname" style="width: 800px; height: 50px" value="<?php echo $fetch['last'];?>"/>&nbsp;<?php echo $lnameErr; ?>
            <br>
            Email:
            <br>
            <input type="text" name="email" style="width: 800px; height: 50px" value="<?php echo $fetch['email'];?>"/>&nbsp;<?php echo $emailErr; ?>
            <br>
            <input type="submit" name="submit" value="Modify"/> 
        </form>
    <?php
}
?>

最佳答案

试试这个代码

     $query_results = mysql_query("SELECT id, fname, lname, email FROM register WHERE id='$id'") or die(mysql_error());
     $result_set=mysql_query($query_results);
     $fetch=mysql_fetch_array($result_set);

删除代码中的 while 循环,因为查询返回特定记录。

关于php - 更新数据时获取特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449046/

相关文章:

php - SQL Radius 在一个与另一个连接的表中搜索

php - 使用 PHP 在 MySQL 中查找帐户名的最有效方法是什么

php 获取今天明天和后天但忽略周末

php - 卡在插入存储过程 mysql php 上,我无法弄清楚如何从下拉列表中获取角色 id

php - 将大型 CSV 导入 mysql 数据库

MySQL 索引列与连接表

php - SQL试图根据年龄列中的年龄组创建排名列

javascript - PHP `extract` 函数相当于 Nodejs (javascript)?

javascript - PHP AJAX 实时搜索页面定位同一页面而不是新窗口

php - jquery打字效果