Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php删除行?_Php_Mysql - Fatal编程技术网

如何使用php删除行?

如何使用php删除行?,php,mysql,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";

我使用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();
}
?>
你忘记了你的关键字。正确的语法是:

DELETE FROM table_name
WHERE some_column=some_value;
因此,您的代码应该如下所示:

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

您应该更改此行:

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


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

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

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

为了从表中删除一行,必须更改查询的语法使用以下语法


$sql=DELETE FROM tablename,其中id='$id'

离题,但请阅读

这种类型的查询对于SQL注入很容易受到攻击,因为您没有检查/引用您的$id

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

mysql\u real\u escape\u字符串 CTU型数字 这是数字吗
删除…尝试此教程=>谢谢。我的语法错误。不要使用mysql_*函数,因为这些函数已弃用并将在未来版本中删除,请检查mysqli函数或PDO。您的代码当前存在SQL注入漏洞-如果您将其投入使用,您的应用程序很容易被黑客攻击。至少,在将用户输入注入查询之前,要对其进行转义或强制转换。您忘记了从?添加解释你应该把它作为评论发布。我是stack的新手。在此之前,我是不允许写评论的。
if ($result)
{
    echo "Deleted Successfully";
}
else
{
    echo mysql_error();
}