【问题标题】:Delete specific row in database table and generatet html table删除数据库表中的特定行并生成html表
【发布时间】:2016-02-02 14:36:03
【问题描述】:

这是我的删除页面:

<?php 
require('includes/config.php'); 

    $id = $_GET['ID'];
    $pdoConnect = new PDO($db);
    $query='DELETE * FROM studentraspored WHERE ID = "' . $id . '" ';
    $pdoResult = $db->prepare($query);

    $pdoExec = $pdoResult->execute($query);

    header('location:index.php');
?>

这是在我的“memberpage.php”中生成的表格:

if (count($rows)){
    foreach ($rows as $row) {       
        $_SESSION['row'] = $rows;
        $id = floatval($row['ID']);
        echo "<tr>" .
            '<form action="delete_raspored.php" method="post">'.
            "<td>" . $row["ID"] . "</td>" .
            "<td>" . $row["den"] . "</td>" .
            "<td>" . $row["chas"] . "</td>" .
            "<td>" . $row["predmet"] . "</td>" .
            "<td>" . $row["profesor"] . "</td>" .               
            "<td>" . $row["prostorija"] . "</td>" .
            "<td>" . $row["tip"] . "</td>" .
            '<td><input type="submit" id="' . $id . '" value="Delete" ></td>'.
            "</form>".
            "</tr>"

这不能正常工作。我不明白为什么我可能错过了floatval

【问题讨论】:

  • 也许吧。您应该为您的 ID 使用整数,而不是浮点数。运行查询时,您可能得不到 1/1 匹配。
  • 嗯可能需要更新答案,$db 是什么,它在哪里定义?
  • @chris85 $db 是 config.php 中定义的数据库连接
  • 好吧,我就是这么想的,所以你不需要$pdoConnect = new PDO($db);,我会更新答案。
  • @ValentinGjorgoski 下面的答案有效吗?

标签: php mysql pdo delete-row


【解决方案1】:

先试试这个:

<?php 
require('includes/config.php'); 
$id = $_GET['ID'];
$query='DELETE FROM studentraspored WHERE ID = ?';
$pdoResult = $db->prepare($query);
$pdoResult->execute(array($id));
header('location:index.php');
exit();

注意用占位符代替实际值,这将防止 SQL 注入。该值在执行中传入,或者您可以绑定它 (http://php.net/manual/en/pdostatement.bindparam.php)。 http://php.net/manual/en/pdo.prepared-statements.php

delete 语法也被关闭,delete 删除整行而不是特定列,http://dev.mysql.com/doc/refman/5.7/en/delete.html

在您的form 中,我也没有看到名为ID 的元素,因此这可能是另一个问题,您的表单是通过POST 提交的,而不是GET

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2014-11-05
    相关资源
    最近更新 更多