MySQL使用PHP编辑记录

时间:2014-12-23 15:07:14

标签: php mysql

我无法编辑该字段并进行更新。名称字段显示文本":

  

注意:未定义的变量: D:\ XAMPP \ htdocs \ test \ test5.php 31

而不是价值。可能做了一些愚蠢的代码错误,我是一个天真的人。

<!DOCTYPE html>
<html>
<body>
<?php
define('DB_NAME', 'test');
define('DB_USER', '');
define("DB_PASSWORD", '');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db_selected = mysql_select_db(DB_NAME, $link);

if(isset($_GET['del']))
{
    $value1=$_GET['del']; 
    $rs = mysql_query("SELECT * from `add` where empid ='".$value1."'"); 
    $row = mysql_fetch_array($rs);
}
?>
    <form action="test7.php" method="post">
        <ul>
            <li>
                Name:</br>
                <input type="text" name="name" value="<?php echo $row[0]; ?>">
            </li>
            <li>
                <input type="submit" value="UPDATE">
            </li>
        </ul>
    </form>
</body>
</html>

3 个答案:

答案 0 :(得分:3)

您可以检查,$row[0]是否存在。如果del中没有$_GET参数,那么$row将不存在,因为您正在条件中创建$row

<input type="text" name="name" value="<?php echo (isset($row[0]) ? $row[0] : ''); ?>">

请注意

  • 请勿使用mysql个功能。它们已被弃用。请改用mysqliPDO

  • 通过从外部转义变量或使用预准备语句来避免sql注入。

答案 1 :(得分:1)

您在表单中回显$ row [0]而未声明。您需要在if语句之外和回显之前初始化并声明$ row。

答案 2 :(得分:0)

更新了代码。

<?php

$row = "";
 if(isset($_GET['del']))
    {
     $value1=$_GET['del']; 
     $rs = mysql_query("SELECT * from `add` where empid ='".$value1."'"); 
     $row = mysql_fetch_array($rs);
    }
?>

<form action="test7.php" method="get">
    <ul>
        <li>
            Name:</br>
            <input type="text" name="name" value="<?php echo $row[0]; ?>">
        </li>

        <li>
            <input type="submit" value="UPDATE">
        </li>
    </ul>
</form>

您必须先声明$ row。如果你在if中声明它,你不能在外面使用它。同时将表单方法更改为GET