2015-05-21 143 views
0
<?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'未定义索引。数据库中的第一行是AccountID。为什么会发生?从phpmyadmin数据库中删除数据

<?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']

+0

$ _GET [ '的AccountID'];当你从url发送数据像localhost/abc.php?AccountID = 1 –

+1

请参阅:[http://ericlippert.com/2014/03/05/how-to-debug-small-programs/]( http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) – spencer7593

+0

尝试echo $ id并检查$ id中是否有值? –

回答

0

您面临的错误不是数据库错误,它是一个PHP警告。

“的AccountID”取消定义指数是因为该行

$_GET['AccountID']; 

的,这是因为您没有在帐户ID传递到页面。 你应该使用这样

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>"; 
} 
?> 
+0

弃用? soryy我是一个新手,所以我对mysql没有太多了解。mysql和mysqli有什么区别? –

+0

检查此链接,这将有助于http://stackoverflow.com/questions/14151458/difference-between-mysql-mysqli –