0

在我的页面上显示的每条记录之后,我都有一个 SQL 删除按钮。我知道按钮应该做什么,但它不起作用!我什至回显$sql以确保它是正确的,它显示以下内容:

DELETE * FROM recensies WHERE ID ='508a7a732ef67' AND email ='info@*****.nl'

当我查看 PHPmyAdmin 中的记录时,我可以看到有一条记录恰好包含此信息,但另一方面,这是我的代码,我相信你会明白我的意思。

<?php

// Up here I connect to my DB, no problems there..

$query  = "SELECT * FROM recensies ORDER BY timestamp DESC"; 
$result = mysql_query($query) or die(mysql_error());

if (isset($_POST['verwijderen'])) 
{

    $IDdelete = mysql_real_escape_string($_POST['ID']);
    $emaildelete = mysql_real_escape_string($_POST['email']);

    $sql = "DELETE * FROM recensies "
         . "WHERE ID ='$IDdelete' AND email ='$emaildelete'";

    mysql_query($sql);

    echo $sql;
}

while ($row = mysql_fetch_array($result))
{

?>
<form method="post">
<tr>
<td><?php echo $row['cijfer']; ?></td>
<td><input type="text" name="ID" value="<?php echo $row['ID']; ?>"></input></td>
<td><?php $newb = substr($row['beoordeling'], 0, 30); echo $newb; ?>..</td>
<td><?php echo $row['voornaam']; ?> <?php echo $row['achternaam']; ?></td>
<td><input type="text" name="email" value="<?php echo $row['email']; ?>"></td>
<td><?php $datum = date("j/n/y", strtotime($row[timestamp])); echo $datum; ?></td>
<td><input type="submit" value="Verwijderen" name="verwijderen"></td>
</tr>
</form>

<?php

}

?>

</table>

</div>

</div>

我只是找不到我的错误!

4

3 回答 3

3

我不知道这是否是你的问题,但 DELETE 语法不需要列列表(* 在你的查询中):你应该写

DELETE FROM recensies WHERE ID = ...

不 *

于 2012-10-29T21:55:40.430 回答
2

我认为您需要从删除语句中删除 * ,如下所示:

DELETE FROM recensies WHERE ID ='508a7a732ef67' AND email ='info@*****.nl'
于 2012-10-29T21:55:14.123 回答
1

改变

$sql = "DELETE * FROM recensies WHERE ID ='$IDdelete' AND email ='$emaildelete'";

$sql = "DELETE FROM recensies WHERE ID ='$IDdelete' AND email ='$emaildelete'";

删除*.

尝试

mysql_query($sql);
echo mysql_error();

你应该有一个错误说

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '* from recencies' 附近使用正确的语法:

于 2012-10-29T21:57:20.133 回答