如何使用php删除行?

时间:2015-01-26 11:28:41

标签: php mysql

我正在使用PHP在表格中显示MySQL数据库中的内容。我认为它有效,但输出仍然是“错误”。我需要删除连续的所有记录。

<?php
require_once ('config.inc.php');
$id=$_POST['id'];
$sql = "DELETE `subject_information` WHERE `id`='$id'";
$result = mysql_query($sql);

if ($result)
{
    echo "Deleted Successfully";
}
else
{
    echo "ERROR!";
    mysql_close();
}
?>

5 个答案:

答案 0 :(得分:1)

您忘记了FROM个关键字。正确的语法是:

DELETE FROM table_name
WHERE some_column=some_value;

所以你的代码应该是这样的:

$sql = "DELETE FROM `subject_information` WHERE `id`='$id'";

答案 1 :(得分:0)

你应该改变这一行:

$sql = "DELETE `subject_information` WHERE `id`='$id'";

$sql = "DELETE FROM `subject_information` WHERE `id`='".$id."'";

答案 2 :(得分:0)

首先,您应该输出从数据库返回的错误:

if ($result)
{
    echo "Deleted Successfully";
}
else
{
    echo mysql_error();
}

第二:在将来的版本中,将从PHP中删除mysql_xxxx函数。您应该查看PDO以连接到您的数据库

答案 3 :(得分:0)

必须更改查询的语法,以便在语法

之后从表中删除行

$ sql =“DELETE FROM tablename WHERE id ='$ id'”;

答案 4 :(得分:0)

关闭主题,但请阅读http://php.net/manual/security.database.sql-injection.php

此类查询易受SQL注入攻击,因为您不检查/引用您的$ id。

作为提示,这些功能可以帮助您:

  • mysql_real_escape_string
  • ctype_digit
  • is_numeric