PHP - MySQL - 删除行

9

我不太确定我做错了什么。我正在尝试使用这段代码删除整行,但它没有起作用。没有发生错误,它打印出已删除的行,但当我去看时它并没有起作用。有什么想法吗?

<?
$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("theobse1_scores", $con);

$sql="DELETE FROM times WHERE id='$id'";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record deleted go back to delete another!";

mysql_close($con)
?>

3
请勿在新代码中使用mysql_*函数。它们已不再得到维护,社区已开始弃用。看到红框了吗?相反,你应该学习预处理语句(prepared statements),并使用PDOMySQLi。如果你无法决定,这篇文章将帮助你选择。如果你想学习,这是一篇好的PDO教程 - Madara's Ghost
4个回答

10

你使用了$order而非查询变量$sql

$sql="DELETE FROM times WHERE id='$id'";
mysql_query($sql);

不,那只是我忘记删除的一点剩余代码。 - Matt Rogers

7

我用这段代码使它工作了!

<?php
$id =$_REQUEST['id'];

$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);

// sending query
mysql_query("DELETE FROM times WHERE id = '$id'")
or die(mysql_error());      

?>

如果数据库名称不同,那怎么可能呢? - jcho360

2
else
    {
    $qry = "SELECT * FROM my_login WHERE email = '".$email."' LIMIT 1";
    $res = mysql_query($qry);
    if(mysql_num_rows($res) > 0)
        {
        echo "Email already exists!";
        }
    else
        {
        $qry="INSERT INTO my_login SET name='$name',city='$city',comment='$comt',password='$pass',email='$email'";
        mysql_query($qry);
        }
    }       
}
?>  

1
delete.php

<?php
    include "connect.php";
    $id =$_REQUEST['id'];

    // sending query
    mysql_query("DELETE FROM utilizatori WHERE id = '$id'")
    or die(mysql_error());      

    ?>

这是正确的,我已经测试并从ID中删除。

这里是删除按钮:

<?<a href=\"delete.php?id=$row[id]\">Delete</a>`?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接