以最简单的方式使用PHP表单编辑mySQL记录

时间:2013-12-15 22:04:48

标签: php mysql forms

这是我本周末一直在进行的非常基础项目的最后一个组成部分。我知道有更好,更安全的方法来做到这一点,但我仅限于可用的资源。我感谢你对我的耐心。

那就是说 - 我正在尝试编写代码,允许用户在数据库“Crosshill”下的“Employees”表中编辑mySQL记录。有4个字段 - “employeeid”,“firstname”,“lastname”和“department”。我发现了一些类似的代码,我正在尝试修改它以使用我的项目。

我正在使用一个名为“revise.php”的页面执行第一步,然后使用“update.php”页面进行更改。第一页在下面,并在运行时返回“No entry found”错误。它似乎连接正常所以我认为这是我的代码修改中的一个错误。


revise.php代码:

  <?php
mysql_connect('####', 'Crosshill', '####') or die(mysql_error());
mysql_select_db("Crosshill") or die(mysql_error());

$UID = (int)$_GET['employeeid'];
$query = mysql_query("SELECT * FROM Employees WHERE employeeid = '$UID'") or die(mysql_error());

if(mysql_num_rows($query)>=1){
    while($row = mysql_fetch_array($query)) {
        $firstname = $row['firstname'];
        $lastname = $row['lastname'];
        $department = $row['department'];

    }
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?=$UID;?>">
First Name: <input type="text" name="ud_firstname" value="<?=$firstname?>"><br>
Last Name: <input type="text" name="ud_lastname" value="<?=$lastname?>"><br>
Department: <input type="text" name="ud_department" value="<?=$department?>"><br>
<input type="Submit">
</form>
<?php

}else{
    echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>  

第二页(update.php)我还没有解决问题,因为我在第一页上遇到了这个错误。如果我可以让第一页工作,我将继续下一页。但是这里是“update.php”页面的代码,以防需要它。我敢打赌它也有错误:))


<?php
mysql_connect('####, 'Crosshill', '####') or die(mysql_error());
mysql_select_db("Crosshill") or die(mysql_error());

$ud_ID = (int)$_POST["ID"];

$ud_firstname = mysql_real_escape_string($_POST["ud_firstname"]);
$ud_surname = mysql_real_escape_string($_POST["ud_lastname"]);
$ud_FBID = mysql_real_escape_string($_POST["ud_department"]);


$query="UPDATE Employees
            SET firstname = '$ud_firstname', lastname = '$ud_lastname', department = '$ud_department' 
            WHERE ID='$ud_ID'";


mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){
    echo "<p>($ud_ID) Record Updated<p>";
}else{
    echo "<p>($ud_ID) Not Updated<p>";
}
?>

感谢您成为这样一个支持性的社区。我知道这对你们大多数人来说都是非常基本的东西,但是你必须从某个地方开始,对吗?

1 个答案:

答案 0 :(得分:0)

看起来你有一个很好的开始。现在学习插入类似的内容:

  

<强>的var_dump ($ VARIABLENAME);死;

在你的源代码中,一次调试一下。例如,尝试插入:

  

的var_dump(mysql_fetch_array($查询));死;

查看mysql返回的内容。

此外,您可能希望从较旧的mysql迁移到mysqli(改进版)。