php - 如何在 php 中删除具有复合(多列)主键的记录

标签 php mysql sql pdo httprequest

好的,这是删除的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/

相关文章:

php - xdebug-等待与 ide key 的传入连接

php - 授权 header 未通过 Codeception API 测试

php - 无法使用 simplexml_load_file 进入目录

java - 学习 ERD 和 ORM 的良好学习资源

php - 在 Centos 6.3 中使用 php-ldap

Mysql表数据问题?

mysql - 比较表 B 和表 A?

php - Laravel:转换 SQL 查询,0 个结果

.net - ADO.NET 和 SQLBULKCOPY - 要插入的最大记录限制?

MySQL 不匹配以数字结尾的 varchar 键