您好,我在 Netbeans 中使用 PHP 表单更新 MySQL 时遇到问题,出现的问题是:
“
注意: undefined variable :在 C:\Xampp\htdocs\Resume_DB\PHP\Emination_Edit.php 中的 75 行获取了 fetched_row
”
在我的所有 4 个文本框中。我的代码是:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cs266db_db1");
if(isset($_GET['edit_id']))
{
$sql_query="SELECT * FROM education Where Edit_Education=".$_GET['edit_id'];
$result_set= mysql_query($sql_query);
$fetched_row= mysql_fetch_array($result_set);
}
if(isset($_POST['btn_update']))
{
//variables for input data
$Class = $_POST['Class'];
$Discipline = $_POST['Discipline'];
$Description = $_POST['Description'];
$Term = $_POST['Term'];
//sql query for update data
$sql_query = "UPDATE Education SET Class='$Class', Discipline='$Discipline', Description='$Description', Term='$Term' WHERE Education_Edit=".$_GET['edit_id'];
//sql query execution function
if(mysql_query($sql_query))
{
?>
<script type='text/javascript'>
alert('Data Has Been Updated');
window.location.href='Eduaction.php';
</script>
<?php
}
else
{
?>
<script type='text/javascript'>
alert('Error Occured while Updating Data');
</script>
<?php
}
//sql query execution function
}
if(isset($_POST['btn-cancel']))
{
header("Location: Education.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Edit Education</title>
</head>
<body>
<center>
<div id="header">
<div id="content">
<label>Edit Education</label>
</div>
</div>
<div id="body">
<div id="content">
<form method="post">
<table align="center">
<tr>
**<td><input type="text" name="Class" placeholder="Class" value="<?php echo $fetched_row['Class']; ?>" required /></td>
</tr>
<tr>
<td><input type="text" name="Discipline" placeholder="Discipline" value="<?php echo $fetched_row['Discipline']; ?>" required /></td>
</tr>
<tr>
<td><input type="text" name="Description" placeholder="Description" value="<?php echo $fetched_row['Description']; ?>" required /></td>
</tr>
<tr>
<td><input type="Text" name="Term" placeholder="Term" value="<?php echo $fetched_row['Term']; ?>" required</td>**
</tr>
<tr>
<td>
<button type="submit" name="btn-update"><strong>UPDATE</strong></button>
<button type="submit" name="btn-cancel"><strong>Cancel</strong></button>
</td>
</tr>
</table>
</form>
</div>
<div id="footer">
<div id="content">
</div>
</div>
</center>
</body>
</html>
有什么想法吗?谢谢大家的帮助
最佳答案
问题是仅当设置 $_GET['edit_id'] 时才分配 fetched_row。否则它不存在,但即使未设置 $_GET['edit_id'],您仍会尝试使用它。
改变
<td><input type="Text" name="Term" placeholder="Term" value="<?php echo $fetched_row['Term']; ?>" required</td>**
致:
<td><input type="Text" name="Term" placeholder="Term" value="<?php echo (isset($fetched_row['Term']))? $fetched_row['Term'] : ''; ?>" required</td>**
关于javascript - 使用文本框使用php表单更新MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36466379/