2012-12-08 231 views
0

我已經做了一些sql記錄,並有一個表來顯示記錄。我的問題是如何刪除這條記錄。我做了代碼,但是錯了。有什麼建議麼?從表中刪除條目

表:

<?php            
$result = mysql_query("SELECT id,onoma_pelati,tilefono,fax,email FROM visitors"); 
if (!$result) { 
    die("Problem..."); 
} 

$fields_num=mysql_num_fields($result);         
$counter = 1; 
while($row = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 
    echo "<td>" . $counter . "</td>"; 
    foreach($row as $cell) 
    { 
     echo "<th>$cell</th>"; 
    } 
    echo '<td class="column"> 
     <a href="delete.php?id=' . $row['id'] . '"><img src="images/icons/color/cross.png" /></a> </td></tr>';          
    $counter++; 
} 
mysql_free_result($result); 
?> 

和刪除文件:

<?php 
include('db_connection.php'); 

if (isset($_GET['id']) && is_numeric($_GET['id'])) 
{ 
    $id = $_GET['id']; 

    $result = mysql_query("DELETE FROM visitors WHERE id=$id") 
    or die(mysql_error()); 

    header("Location: showplio.php"); 
} 
else 
{ 
    header("Location: addplio.php"); 
} 
?> 
+0

只想問你是否在 - $ id-中刪除文件。檢查。 –

+1

「代碼卻錯了」 - 究竟發生了什麼?任何錯誤消息? – chrki

+0

錯誤是:非法字符串偏移'id'在線:非法字符串偏移'id'在線:非法字符串偏移'id'在線 –

回答

0

您使用返回的行與數字索引陣列中的mysql_fetch_row功能,所以不是$row['id']你必須使用$row[0]。可以使用mysql_fetch_assoc。該函數將這些行作爲具有字符串索引的數組返回,因此$row['id']可以工作。

這對use a different MySQL API會更好,因爲mysql_功能不建議用於新開發。

+0

謝謝大家的回答。我使用這個:mysql_fetch_assoc,並且完美地工作。再次感謝你。 –