gpt4 book ai didi

Mysql 查询 - 如果一行中存在三个值?

转载 作者:行者123 更新时间:2023-11-29 00:58:56 25 4
gpt4 key购买 nike

我有一张 table ,

id/category/extra/another

我想检查表中的一行是否有重复条目。

例如:

服务/管道/住宅

以上只能存在一次

但是……

建筑/管道/住宅

以上也可以存在。

所以我必须同时检查一行中的所有三个字段?

我的代码无法运行。

<?php 
// connect here

//

$category = mysql_real_escape_string($_POST['category']);
$extra = mysql_real_escape_string($_POST['extra']);
$another = mysql_real_escape_string($_POST['another']);

$querySTATUS = "SELECT * FROM categories WHERE category ='.$category.' AND extra ='.$extra.' AND another ='.$another'";
$resultSTATUS = mysql_query($querySTATUS) or die(mysql_error());

$CountRows = mysql_num_rows($resultSTATUS);

if($CountRows == 1){
echo "OK";
$query1 = "INSERT INTO categories (category,extra,another) VALUES ( '$category','$extra','$another')";
$result = mysql_query($query1) or die(mysql_error());
} else {echo "!OK";}exit;?>

我有一个 3 输入字段,可以清楚地发布数据。

还有响应 OK 和 !OK 可以在表单页面上运行一些内联​​ jquery。

我一直在 Firebug 中收到 !OK 响应,我尝试了查询的变体,但没有成功。

如果您能提供帮助,在此先感谢您:-)

约翰

最佳答案

此 SQL 查询将向您显示有多少行具有同一组类别、额外类别和其他类别。您可以过滤 WHERE quantity > 1 以仅获取包含重复项的行。

SELECT CONCAT(category, extra, another) as catexan, COUNT(*) as quantity, category, extra, another FROM categories GROUP BY catexan ORDER BY quantity DESC;

更新:我是根据你最初的描述去的。根据您提供的详细信息,这应该可以满足您的要求:

// connect
$category = mysql_real_escape_string($_POST['category']);
$extra = mysql_real_escape_string($_POST['extra']);
$another = mysql_real_escape_string($_POST['another']);

$result = mysql_query("SELECT id FROM categories WHERE category = '$category' AND extra = '$extra' AND another = '$another';");

if (mysql_num_rows($result) > 0) {
echo '!OK';
} else {
mysql_query("INSERT INTO categories (category, extra, another) VALUES ('$category', '$extra', '$another');");
echo 'OK';
}

关于Mysql 查询 - 如果一行中存在三个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com