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");
}
?>
4

1 回答 1

0

您正在使用的mysql_fetch_row函数将行作为具有数字索引的数组返回,因此$row['id']您必须使用$row[0].

您也可以使用mysql_fetch_assoc. 此函数将行作为带有字符串索引的数组返回,因此$row['id']可以工作。

使用不同的 MySQL API会更好,因为mysql_不建议将 -functions 用于新开发。

于 2012-12-09T01:15:29.403 回答