我试图使用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,但我无法找到它。
答案 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))