我有一个取消分配按钮,我想从他所在的任何列中删除登录的人,因为我有 2 列,他可能在其中任何一个列中。
图式:
应用程序
ID int primary key not null auto_increment
Name varchar(50) not null
Email varchar(50) not null
Person1 varchar(10)
Person2 varchar(10)
查询:
mysql_query("delete from App where (App.Person1 OR App.Person2) = '" . addslashes(strip_tags($_SESSION["user"])) . "' and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "'");
如您所见,我尝试使用OR
但它不会删除登录的人
你可以做
DELETE FROM App WHERE (App.Person1 = '...' OR App.Person2 = '...') AND App.ID = '...'
您的删除语句是错误的。它必须是:
mysql_query("delete from App where (App.Person1 '" . addslashes(strip_tags($_SESSION["user"])) . "' OR App.Person2 = '" . addslashes(strip_tags($_SESSION["user"])) . "') and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "'");
还有另外两件事:
- 不应使用 mysql_* 函数,因为这些函数已弃用
- 您应该使用预准备语句。