注意:未定义索引:ID - 根据ID删除记录

时间:2014-05-07 18:41:04

标签: php html mysql

我已经阅读了其他帖子但仍无法解决这个问题。 我试图根据它的ID删除数据库中的记录。 此代码是要删除的项目的来源。

echo '<tr>';
        echo '<td>' . $row['site_name'] . '</td>';
        echo '<td>' . $row['site_code'] . '</td>';
        echo '<td>' . $row['site_address'] . '</td>';
        echo '<td>' . $row['site_city'] . '</td>';
        echo '<td>' . $row['site_postalcode'] . '</td>';
        echo '<td>' . $row['id_province'] . '</td>';
        echo '<td>' . $row['id_country'] . '</td>';
        echo '<td><a href="/delete.php?id=' . $row['id'] . '">delete</a></td>';
        echo '<td><a href="/modify.php?id=' . $row['id'] . '">modify</a></td>';
echo '</tr>';

我的delete.php包含以下内容:

<?php
    $con = mysqli_connect("localhost", "root", "", "project1");

    // Check connection
    if (mysqli_connect_errno()) {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $sites_id=$_GET['ID']; 
    if (isset($sites_id)) { 
       $query = mysqli_query("DELETE FROM sites WHERE ID='$sites_id'");  
    }
?>

我收到通知:未定义的索引:第8行的C:\ wamp \ www \ delete.php中的ID

3 个答案:

答案 0 :(得分:1)

如果您有$_GET['ID'],则$_GET['id']。这些键区分大小写。

答案 1 :(得分:1)

在html中你的id是小写的,而php是大写的......

也改变了行

$sites_id = $_GET['ID']; 

if (isset($sites_id))

if (isset($_GET['id']))

$sites_id = $_GET['id'];

答案 2 :(得分:1)

PHP对数组键区分大小写:

    echo '<td><a href="/modify.php?id=' . $row['id'] . '">modify</a></td>';
                                   ^^---lower case
$sites_id=$_GET['ID']; 
                 ^^---upper case

就PHP而言,IDid是两个完全不同的数组键。