我无法编辑该字段并进行更新。名称字段显示文本":
注意:未定义的变量: 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>
答案 0 :(得分:3)
您可以检查,$row[0]
是否存在。如果del
中没有$_GET
参数,那么$row
将不存在,因为您正在条件中创建$row
。
<input type="text" name="name" value="<?php echo (isset($row[0]) ? $row[0] : ''); ?>">
请注意
请勿使用mysql
个功能。它们已被弃用。请改用mysqli
或PDO
。
通过从外部转义变量或使用预准备语句来避免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