无法使用php从数据库中删除
我试图通过使用php文件从mysql数据库中删除条目,但由于某些原因,它不起作用。连接(在“connect.php”中)是有效的,因为我对SELECT语句和这些语句使用相同的文件。我只是在删除它们时遇到了麻烦。知道我做错了什么吗? 提前谢谢无法使用php从数据库中删除,php,mysql,Php,Mysql,我试图通过使用php文件从mysql数据库中删除条目,但由于某些原因,它不起作用。连接(在“connect.php”中)是有效的,因为我对SELECT语句和这些语句使用相同的文件。我只是在删除它们时遇到了麻烦。知道我做错了什么吗? 提前谢谢 <?php include "include/connect.php"; if($link === false){ die("ERROR: Could not connect. " . mysql_connect_error()); } $
<?php
include "include/connect.php";
if($link === false){
die("ERROR: Could not connect. " . mysql_connect_error());
}
$word = (isset($_GET['email']) ? $_GET['email'] : null);
$sql = "DELETE * from tbl_sbs WHERE eml='" . word . "'";
$result = mysql_query($sql);
?>
除非在WHERE
子句中使用与SELECT
语句相同的过滤目的,否则不能使用*
或DELETE
语句的列名。应该是
$sql = "DELETE from tbl_sbs";
$sql = "DELETE FROM tbl_sbs WHERE eml='" . $word . "'";
DELETE
通用语法为
DELETE FROM TABLE_NAME WHERE COLUMN_NAME <comparison_operator> SOME_FILTER_CONDITION
错误报告会向您抛出一个未定义的常量词通知如果那不是“.word.”
中的打字错误
*
检查错误后,会抛出以下命令:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near的正确语法*
参考资料:
除非在WHERE
子句中使用与SELECT
语句相同的过滤目的,否则不能使用*
或删除
语句的列名。应该是
$sql = "DELETE from tbl_sbs";
$sql = "DELETE FROM tbl_sbs WHERE eml='" . $word . "'";
DELETE
通用语法为
DELETE FROM TABLE_NAME WHERE COLUMN_NAME <comparison_operator> SOME_FILTER_CONDITION
错误报告会向您抛出一个未定义的常量词通知如果那不是“.word.”
中的打字错误
*
检查错误后,会抛出以下命令:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near的正确语法*
参考资料:
并且必须在变量名(word)之前使用$
并且必须在变量名(word)之前使用$
天呐删除*
,然后删除问题或die(mysql\u error())
到mysql\u query()
会发出我想回答的语法错误信号,但这将不再受欢迎*另外,错误报告会给您一个未定义的常量词通知;如果那不是一个打字错误的话。@Fred ii-是的,当我编辑这篇文章时,那是一个打字错误。多年前,我曾经信任一个我认为是很好朋友的人。这个故事的寓意是:永远不要放松警惕。甚至你自己的妈妈/爸爸也可能(意外地/不知不觉地)给你发送病毒;-)编辑:想想“匿名”。他们甚至入侵了我们自己的政府网络,这也是一个“封闭的私人网络”。哟!!!删除*
,然后删除问题或die(mysql\u error())
到mysql\u query()
会发出我想回答的语法错误信号,但这将不再受欢迎*另外,错误报告会给您一个未定义的常量词通知;如果那不是一个打字错误的话。@Fred ii-是的,当我编辑这篇文章时,那是一个打字错误。多年前,我曾经信任一个我认为是很好朋友的人。这个故事的寓意是:永远不要放松警惕。甚至你自己的妈妈/爸爸也可能(意外地/不知不觉地)给你发送病毒;-)编辑:想想“匿名”。他们甚至入侵了我们自己的政府网络,这也是一个“封闭的私人网络”。我编辑了我的代码,在delete语句中加入了一个条件。在这种情况下需要“*”吗?不需要,只需在其中添加WHERE
@IrinaAvram@IrinaAvram不,从来没有。再次查看答案中的编辑。谢谢!我会在8分钟内接受你的回答@IrinaAvram,这不是必需的,因为类似于DML的insert/update/delete在成功后会执行隐式提交,但如果您使用事务块手动处理它,则必须执行单独的提交/回滚。我编辑了代码,以便在delete语句中包含一个条件。在这种情况下需要“*”吗?不需要,只需在其中添加WHERE
@IrinaAvram@IrinaAvram不,从来没有。再次查看答案中的编辑。谢谢!我会在8分钟内接受你的回答@IrinaAvram,这不是必需的,因为类似于DML的insert/update/delete在成功后会执行隐式提交,但如果您使用事务块手动处理,则必须执行单独的提交/回滚。您必须检查delete
语句的完整语法。OP说这是一个输入错误,但你确实回答了他们最初发布的内容。“而且你必须在变量名(word)之前使用$,否则它将被视为常量。你必须检查DELETE
语句的完整语法。OP说这是一个拼写错误,但你确实回答了他们最初发布的内容。”你必须在变量名(word)之前使用$-否则它将被视为常数。