Php 我的代码有什么问题?数据不会从数据库中删除

Php 我的代码有什么问题?数据不会从数据库中删除,php,database,delete-row,Php,Database,Delete Row,我已经更新了代码,但不断出现新的错误。 我真的希望有人能帮助我,看看我的代码,看看是什么错了。 我在网页上有一个数据库表,每个表行上有一个编辑按钮和一个删除按钮。目前,我正在尝试让delete按钮工作,它不会删除数据库中的行,即使我选择了该ID。看起来它选择了正确的ID 有人能告诉我是怎么回事吗?下面是代码 <?php require 'connect.inc.php'; if (isset($_POST['delete']) && isset($_P

我已经更新了代码,但不断出现新的错误。 我真的希望有人能帮助我,看看我的代码,看看是什么错了。 我在网页上有一个数据库表,每个表行上有一个编辑按钮和一个删除按钮。目前,我正在尝试让delete按钮工作,它不会删除数据库中的行,即使我选择了该ID。看起来它选择了正确的ID

有人能告诉我是怎么回事吗?下面是代码

<?php 

    require 'connect.inc.php';

    if (isset($_POST['delete']) && isset($_POST['id'])) {
        $id = get_post('id');
        $query = "DELETE FROM movies WHERE id='.$id.' LIMIT 1";

        if (!mysql_query($query, $db_server))
            echo "DELETE failed: $query<br>".
            mysql_error() . "<br><br>";
    }

    $query = "SELECT * FROM movies, categories WHERE movies.genre_id = categories.genre_id";
    $result = mysql_query($query);

    if (!$result) die ("Database access failed:" .mysql_error()) ;
    $rows = mysql_num_rows($result);

    echo '<table><tr><th>Title</th><th>Release year</th><th>Genre</th><th>Director</th><th>Update</th><th>Delete</th></tr>';

    for ($j = 0 ; $j < $rows ; ++$j) {
    $row = mysql_fetch_row($result);
    //$id = $row[0];
    echo '<tr><td>' .$row[1] . '</td>' ;
    echo '<td>' .$row[2] . '</td>' ;
    echo '<td>' .$row[3] . '</td>' ;
    echo '<td>' .$row[4] . '</td>' ;
    echo '<td>'."<a href='edit_movie.php?edit=" . $row[0] . "'>Edit</a>".'</td>';
    echo '<td><form action="index.php" method="POST">
                <input type="hidden" name="delete" value="yes" />
                <input type="hidden" name="id" value="'. $row[0] .'" /> 
                <input type="submit" value="Delete" /></form>
                </td></tr>' ;
    }
    echo '</table>'; 

    include 'add_movie.php';

?>

您忘记关闭操作属性。


您有
echo'忘记关闭操作属性。


您有
echo'您的删除sql有错误的引号

$query = "DELETE FROM movies WHERE id='.$id.' LIMIT 1";
换成

$query = "DELETE FROM movies WHERE id=".$id." LIMIT 1";


您的删除sql有错误的引号

$query = "DELETE FROM movies WHERE id='.$id.' LIMIT 1";
换成

$query = "DELETE FROM movies WHERE id=".$id." LIMIT 1";


尝试更改窗体操作

'<td><form action="index.php" method="POST">
'
还要检查数据库连接是否正确建立

也许这会有助于获得职位


尝试更改表单操作

'<td><form action="index.php" method="POST">
'
还要检查数据库连接是否正确建立

也许这会有助于获得职位


需要澄清的是:“mysql\u query”及其附带的命令已被弃用,因此不应使用。不过,OP声明它是分配所必需的。替换它们的最简单方法是使用“mysqli_*”。例如,使用参数绑定来避免sql注入:

难道不是:

if (isset($_POST['delete']) && isset($_POST['id'])) {
        $id = mysql_real_escape_string($_POST['id']);
        ...
有关“获取帖子”的信息,请参见此链接:

问题是函数“get_post”在课程文献的下一页上定义了,询问者没有注意到


变量$_POST['id']包含通过HTTP POST请求从表单发送的id值。检查是否设置了该值,然后应该像我写的那样将其分配给“$id”。

只是为了澄清一点:“mysql\u query”和附带的命令已被弃用,不应该使用。不过OP声明分配需要它。替换它们的最简单方法是使用“mysqli_*”。例如,使用参数绑定来避免sql注入:

难道不是:

if (isset($_POST['delete']) && isset($_POST['id'])) {
        $id = mysql_real_escape_string($_POST['id']);
        ...
有关“获取帖子”的信息,请参见此链接:

问题是函数“get_post”在课程文献的下一页上定义了,询问者没有注意到



变量$_POST['id']包含通过HTTP POST请求从表单发送的id值。检查是否设置了该值,然后应该像我写的那样将其分配给“$id”。

请不要使用mysql函数。他们是。与或一起使用。@peterm嗨!谢谢你的评论!我知道,但这是学校的作业,我们应该用这个。。。我是个初学者,所以还没有读过其他的技巧:(你的
get_post()在哪里?)
function defined?请不要使用mysql函数。它们是。与or一起使用。@peterm嗨!谢谢你的评论!我知道,但这是学校的作业,我们应该使用这个……我是初学者,所以还没有读过其他的技巧:(你的
get\u post()在哪里?)
function defined?谢谢!我没有看到!但是现在我遇到了这个错误:致命错误:在C:\Program Files(x86)\EasyPHP-12.1\www\mymovielibrary\index.php中在线调用未定义的函数get\u post()19@Karolina我看不到get_post()在定义函数的页面中,请确保该函数包含在index.php文件中。谢谢!我没有看到!但是现在我遇到了以下错误:致命错误:在C:\Program Files(x86)\EasyPHP-12.1\www\mymovielibrary\index.php的第行调用未定义的函数get_post()19@Karolina我看不到get_post()在您定义了函数的页面中,请确保该函数包含在index.php文件中。谢谢!我没有看到我漏掉了“标记:(但是我现在遇到了一个新错误:(刚刚更新了问题。请检查上面的链接获取邮政信息。我应该删除它吗?我不是真的在任何地方使用get\U post…我应该交换到$id=$\U post吗['id'];?如果您使用
$id=$\u POST['id'];
您将在sql中使用未清理的数据,您将容易受到sql的攻击Injection@Sean但是我现在可以不通过一些SQL注入保护来调整它吗?谢谢!我没有看到我错过了“标记:(但是我现在得到了一个新的错误:(刚刚更新了这个问题。请检查上面的get_postMaybe链接,我应该删除它吗?我不是真的在任何地方使用get_post…我应该交换到$id=$\u post['id'];?如果你使用
$id=$\u post['id'];
您将在sql中使用未清理的数据,您将容易受到sql的攻击Injection@Sean但是我现在不能用一些SQL注入保护来调整它吗?哦,也许我应该把$id=get_post('id');换成那样吗?问题是我坐在书旁,没有完全理解我所做的一切:(是的,这就是我的意思。'get_post'不是一个标准的php函数。请参阅链接。我已经更改了它,但我当然遇到了另一个错误。我以为我已经很快解决了这个问题:(问题解决了!!!:D谢谢你的帮助!这是几个错误步骤的组合…很高兴我能提供帮助:)哦,也许我应该交换$id=get_post('id'));到那?问题是我坐在书旁,没有完全理解我正在做的每件事:(是的,这就是我的意思。'get_post'不是一个标准的php函数。请参阅链接。我更改了它,但我意外地遇到了另一个错误。我想我很快就能解决这个问题:(问题解决了!!!:D谢谢你的帮助!这是几个错误步骤的混合…很高兴我能提供帮助:)