更新数据时获取特定行

时间:2017-04-17 09:47:01

标签: php mysql

我试图建立一个简单的CRUD(UPDATE)系统。

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

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

  

注意:未定义的变量:在 85
D:\ IDEs \ xampp \ htdocs \ eam \ edit_data.php 中获取/>   注意:未定义的变量:在 89 D:\ IDEs \ xampp \ htdocs \ eam \ edit_data.php 中获取   注意:未定义的变量:在 93

D:\ IDEs \ xampp \ htdocs \ eam \ edit_data.php 中获取

这是我的代码:

        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
}
?>

1 个答案:

答案 0 :(得分:0)

试试此代码

     $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循环,因为Query返回特定记录。