好的,这是删除的php代码
<?php
require '../../AppData/database.php'; $id = 0;
if ( !empty($_GET['ActNo'])) {
$id = $_REQUEST['ActNo'];
}
$sec = 0;
if ( !empty($_GET['SectionNo'])) {
$sec = $_REQUEST['SectionNo'];
}
if ( !empty($_POST)) {
// keep track post values
$id = $_POST['ActNo'];
$sec = $_POST['SectionNo'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "DELETE FROM section WHERE ActNo = ? AND SectionNo = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id, $sec));
Database::disconnect();
header("Location: index.php");
}
?>
问题: 这不起作用。 mysql 语句不正确或者可能是 pdo 内容有问题。也可能是关于 $_POST 和 GET 以及 REQUEST 的事情。我尝试更改sql语句,然后它会删除整个表。更改变量也不起作用。
我希望它一次只删除一条记录。 请有人给我一些建议。
最佳答案
1. 检查您的帖子:
var_dump $POST,然后就死掉了;
2. 检查你的 SQL: 强制将正确的值放入您的变量中 $id = 'foo'; $sec = '酒吧';
3. 确保准备好的声明有效,是吗?真正替换为所需的值
干杯斯特凡
关于php - 如何在 php 中删除具有复合(多列)主键的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24400675/