gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 00:07:57 24 4
gpt4 key购买 nike

我正在开发数据库应用程序。我在处理 php 中的表时遇到问题它使用两列作为其主键。我已经构建了索引页面和插入页面,它们工作正常,但删除、编辑和详细信息页面遇到了麻烦。这是详细页面的html

            <div class="span10 offset1">
<div class="row">
<h3>Section Details</h3>
</div>

<div class="form-horizontal" >
<div class="control-group">
<label class="control-label">Act No :</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['ActNo'];?>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label">Section No :</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['SectionNo'];?>
</label>
</div>
</div>
<div class="form-actions">
<a class="btn" href="index.php">Back</a>
</div>
</div>
</div>

</div> <!-- /container -->

这是 php 代码

   <?php

require '../../AppData/database.php';
$id = null;
if ( !empty($_GET['ActNo'])) {
$id = $_REQUEST['ActNo'];
}
$sec = null;
if ( !empty($_GET['SectionNo'])) {
$id = $_REQUEST['SectionNo'];
}

if ( null==$id && null==$sec ) {
header("Location: index.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM section where ActNo = ? AND SectionNo= ?";
$q = $pdo->prepare($sql);
$q->execute(array($id, $sec));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
}
?>

当我单击索引页面上的详细信息链接时。数据通过url发送。我可以看到这两个值都在 url 中正确发送,但在下一页上没有收到。

我对 POST、GET 和 REQUEST 没有太多经验,我认为这就是问题所在。请看一下并告诉我出了什么问题以及如何修复它。

最佳答案

好的,我已经找到问题了。这是修改后的代码。

 <?php

require '../../AppData/database.php';
$id=null ;
if ( !empty($_GET['ActNo'])) {
$id = $_REQUEST['ActNo'];
}
$sec=null ;
if ( !empty($_GET['SectionNo'])) {
$sec = $_REQUEST['SectionNo'];
}

if ( null==$id || null==$sec ) {
header("Location: index.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM section where ActNo = ? AND SectionNo= ?";
$q = $pdo->prepare($sql);
$q->execute(array($id, $sec));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
}
?>

现在一切正常。我想第 10 行有问题,我输入了 $id 而不是 od $sec。

现在有人可以帮我删除模块吗?这是代码..

需要'../../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'];

// delete data
$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");

}
?>

关于php - 如何在 php 中读取具有复合(多列)主键的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24357240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com