2015-05-21 142 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 –