指向某些id不能正常工作的PHP

时间:2016-03-17 02:46:51

标签: php mysql get

我试图使用PHP从MySQL表中删除一行。我已经访问了很多页面,但我无法找到使其无法正常工作的原因。

Contacts.php

require_once "functions.php";
$db = new DatabaseConnection();
$user = new AddressBook($db->pdo);

<table>
            <tr>
            <th>Nombre</th>
            <th>Telefono</th>
            <th>Direccion</th>
            <th>Email</th>
            </tr>
            <?php
                $i=0;
                $contactos=$user->verContactos();
                foreach($contactos as $conts){
                    $i++;
                ?>

            <tr>
            <td><?php echo $conts['nombre']; ?></td>
            <td><?php echo $conts['telefono']; ?></td>
            <td><?php echo $conts['direccion']; ?></td>
            <td><?php echo $conts['email']; ?></td>
            <td><a href="borrar.php?id<?php $conts['id']; ?>">Borrar</a></td></tr>

            </tr>
                <?php } ?>
            </table>

delete.php

<?php
 if (isset($_GET['id']) && is_numeric($_GET['id']))
 {
     $id = $_GET['id'];
     $result = mysql_query("DELETE FROM contacts WHERE id=$id")
     or die(mysql_error()); 



    header("Location: contacts.php");
    }
      else
    {
      header("Location: contacts.php");
    }


?>

我知道你会说mysql不再有用了。在我的网络系统中,我使用函数和PDO扩展来完成此部分。 如果我使用这个例子或我的版本使用PDO并不重要,我无法获得id。我只是得到这样的东西:

http://localhost/agenda/borrar.php?id&lt; - 缺少身份证件

数据库中的id字段被称为&#39; id&#39;。我认为问题可能是使用$ _GET,但我无法找到它。

1 个答案:

答案 0 :(得分:0)

此:

<td><a href="borrar.php?id<?php $conts['id']; ?>">Borrar</a></td></tr>

需要这样:

<td><a href="borrar.php?id=<?php echo $conts['id']; ?>">Borrar</a></td></tr>

而且:

$result = mysql_query("DELETE FROM contacts WHERE id=$id")

需要这样:

$result = mysql_query("DELETE FROM contacts WHERE id=" . intval($id))