我正在尝试使用PHP建立数据库,但我一直收到错误,说我在id中有一个未定义的索引。
我想将数据添加到我的数据库中,也可以更新,删除和显示信息。这是我的更新信息代码。
<?PHP
// Connection to MySQL
$dbconnection = @mysql_connect('localhost','root','');
if (!$dbconnection) {
echo '<p> Unable to connect to the database at this time.</br></br></p>';
exit();}
else {
echo '<p> connection to database is successful</br></br> </p>';}
//select Mysql Database-ijdb
if (!@mysql_select_db('disease')){
exit('<p> Unable to locate the information on the database.</p>');
}
//Receive Variables from the GET of JOKELIST.php
if(isset($_POST['submit']))
{
$GeneticOrganisation=$_POST['newGeneticOrganisation'];
$ProteinInformation=$_POST['newProteinInformation'];
$Symptoms=$_POST['newSymptoms'];
$Population=$_POST['newPopulation'];
$Cure=$_POST['newCure'];
$OriginOfDisease=$_POST['newOriginOfDisease'];
$dmdid=$_POST['id'];
// Print receieved variables to check accuracy
$sql= "UPDATE dmd SET GeneticOrganisation ='".$GeneticOrganisation."' WHERE id
`='".$dmdid."'";
$sql= "UPDATE dmd SET ProteinInformation ='".$ProteinInformation."' WHERE id ='".$dmdid."'";
$sql= "UPDATE dmd SET Symptoms ='".$Symptoms."' WHERE id ='".$dmdid."'";
$sql= "UPDATE dmd SET Population ='".$Population."' WHERE id ='".$dmdid."'";
$sql= "UPDATE dmd SET Cure ='".$Cure."' WHERE id ='".$dmdid."'";
$sql= "UPDATE dmd SET OriginOfDisease ='".$OriginOfDisease."' WHERE id ='".$dmdid."'";
}
if (!@mysql_query($sql))
echo "<p> Information could not be updated-".mysql_error();
else{
echo "<p> Information updated successfully";
echo '<a href="diseaseInfo.php"> View the information on the disease here.';
}
?>
答案 0 :(得分:4)
听起来$_POST['id']
没有被设置。
您需要确保在使用之前设置它,或者检查它是否已设置,如果不是,则为其设置默认值。
例如:
if (isset($_POST['id'])) { // If the id post variable is set
$dmid = $_POST['id'];
} else { // If the id post variable is not set
$dmid = 1;
}
答案 1 :(得分:0)
以下行很可能会导致它:
$dmdid=$_POST['id'];
验证您的表单(或其他POST供应商)是否提供了&#39;&#39;键。有类似的东西:
<input type="hidden" name="id" value="xx"/>