从phpmyadmin数据库中删除数据

时间:2015-05-21 18:16:07

标签: php mysql

<?php
include_once("FTMdatabase.php");
$id = $_GET['AccountID'];
$sql = "DELETE FROM personaldetails WHERE AccountID = '$id'";
$result = mysql_query($sql, $conn);
$msg = "Data Has Been Removed";
confirm($msg);
mysql_close();
?>
<?php
function confirm($msg)
{
echo "<script language=\"javascript\">
alert(\"".$msg."\");
document.location.href='FTMlogin.php';
</script>";
}
?>

我试试这段代码。但是我收到了一条错误消息“AccountID&#39;未定义的索引。我在数据库中的第一行是AccountID。为什么会这样?

<?php
include_once("FTMdatabase.php");
$sql="SELECT * FROM personaldetails";
$result = mysql_query($sql, $conn);
while($row = mysql_fetch_array($result))
{
$id = $row['AccountID'];
$name = $row['Name'];
$phone = $row['Phone'];
$car = $row['Car'];
$comment = $row['Comment'];
?>
<table border="1">
<tr><td width="10"><?php echo $id; ?></td>
<td width="10"><?php echo $name; ?></td>
<td width="300"><?php echo $phone; ?></td>
<td width="100"><?php echo $car; ?></td>
<td width="100"><?php echo $comment; ?></td>
</tr>
<td><a href="FTMdelete.php?id=<?php echo $id;?>">
Delete</a>
</table>
<?php

这是获取$id的地方。我使用$_GET['AccountID']

的原因

1 个答案:

答案 0 :(得分:0)

您遇到的错误不是数据库错误,而是一个php警告。

&#39;帐户ID&#39; undefine索引是因为这一行

$_GET['AccountID'];

这是因为您没有将AccountID传递给页面。 你应该这样使用

if($isset($_GET['AccountID'])){
   echo "No value for AccountID given";
exit;
}

如果您使用的是mysql_query();那么就没有必要连接了

$result = mysql_query($sql, $conn);

应该是这样的

$result = mysql_query($sql);

顺便说一下,mysql已被弃用,所以请使用mysqli。

所以最终结果代码看起来像这样

<?php
include_once("FTMdatabase.php");
if($isset($_GET['AccountID'])){
   echo "No value for AccountID given";
   exit;
}
$id = $_GET['AccountID'];
$sql = "DELETE FROM personaldetails WHERE AccountID = '$id'";
$result = mysql_query($sql);
if($result){
  $msg = "Data Has Been Removed";
  confirm($msg);
} else {
  echo "error on query";
}

mysql_close();

function confirm($msg)
{
 echo "<script language=\"javascript\">
 alert(\"".$msg."\");
 document.location.href='FTMlogin.php';
 </script>";
}
?>