简体   繁体   English

从表WHERE UID = x AND CAT = y中删除

[英]DELETE FROM table WHERE UID = x AND CAT = y

I have a very simple table - 3 columns ID | 我有一个非常简单的表-3列ID | UID | UID | CAT

I am trying to run a mysql delete to remove the rows where both UID= something AND CAT= something. 我试图运行mysql删除以删除其中UID =某物和CAT =某物的行。 But it doesn't work. 但这是行不通的。 How do I do this? 我该怎么做呢?

$uid = $_POST['UID'];
$cat = $_POST['CAT'];

mysql_query("DELETE FROM Categories WHERE UID = ".$uid." AND CAT=".$cat."");

尝试这个:

mysql_query("DELETE FROM Categories WHERE UID = $uid AND CAT='$cat'");
$uid = $_POST['UID'];
$cat = $_POST['CAT'];

mysql_query("DELETE FROM Categories WHERE UID = ".$uid." AND CAT=".$cat."");

VARCHAR need to be escaped VARCHAR需要转义

mysql_query("DELETE FROM Categories WHERE UID = ".$uid." AND CAT='".$cat."'");

another hint use mysql_real_escape_string or another form of checking user input 另一个提示使用mysql_real_escape_string或另一种检查用户输入的形式

$uid = mysql_real_escape_string($_POST['UID']);
$cat = mysql_real_escape_string($_POST['CAT']);

Do you have an active database connection? 您有活动的数据库连接吗? If not, you'll need to create one before calling mysql_query() . 如果不是,则需要在调用mysql_query()之前创建一个。

Other than that, you may be forgetting single quotes in the query: 除此之外,您可能会忘记查询中的单引号:

mysql_query("DELETE FROM Categories WHERE UID = ".$uid." AND CAT=".$cat."");

Should be: 应该:

mysql_query("DELETE FROM Categories WHERE UID = ".$uid." AND CAT='".$cat."'");

Assuming CAT is not a numeric column. 假设CAT不是数字列。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM