Php 检查是否存在具有给定值的行
我有一个查询,要求用户在我的应用程序中创建追随者/以下关系:Php 检查是否存在具有给定值的行,php,mysql,sql,database,Php,Mysql,Sql,Database,我有一个查询,要求用户在我的应用程序中创建追随者/以下关系: INSERT INTO following(IdUser,followingID) VALUES('%d','%d')", $id, $followingId 检查两个用户之间是否已经存在关系的查询是什么 或者,如何检查两个用户之间是否不存在关系 通常,我在iOS应用程序中返回结果,如下所示: if (!$result['error']) { // if no error occured, print out the
INSERT INTO following(IdUser,followingID) VALUES('%d','%d')", $id, $followingId
检查两个用户之间是否已经存在关系的查询是什么
或者,如何检查两个用户之间是否不存在关系
通常,我在iOS应用程序中返回结果,如下所示:
if (!$result['error']) {
// if no error occured, print out the JSON data of the
// fetched photo data
print json_encode($result);
} else {
//there was an error, print out to the iPhone app
errorJson('Follow is broken');
}
如果您有任何帮助,我们将不胜感激。您可以选择计数以查看记录是否已经存在
SELECT count(*) FROM following WHERE idUser = <id> AND followingID = <followingId>
从以下选项中选择count(*),其中idUser=和followId=
如果计数大于零,则存在关系 您可以选择计数以查看记录是否已经存在
SELECT count(*) FROM following WHERE idUser = <id> AND followingID = <followingId>
从以下选项中选择count(*),其中idUser=和followId=
如果计数大于零,则存在关系 如果为
IdUser
和followind
定义唯一索引,则可以使用REPLACE
而不是INSERT
来更新它,而不是插入新的索引
HTH(希望有帮助)如果您为
IdUser
和followind
定义了一个唯一的索引,您可以使用REPLACE
而不是INSERT
来更新它,而不是插入新的索引
HTH(希望有帮助)您可以进行额外的查询,以检查这两个选项中是否有一个“跟随”另一个或相反:
SELECT 1 FROM following
WHERE
(IdUser = <id> AND followingID = <following id>)
OR
(IdUser = <following id> AND followingID = <id>)
从以下选项中选择1
哪里
(IdUser=和以下ID=)
或
(IdUser=和以下ID=)
如果查询返回“1”,则这两个查询中有一个已经在跟踪另一个。您可以进行额外的查询,以检查这两个查询中是否有一个正在“跟踪”另一个或相反:
SELECT 1 FROM following
WHERE
(IdUser = <id> AND followingID = <following id>)
OR
(IdUser = <following id> AND followingID = <id>)
从以下选项中选择1
哪里
(IdUser=和以下ID=)
或
(IdUser=和以下ID=)
如果查询返回“1”,则两个查询中的某个已经在另一个查询之后。如果关系已经存在,我将使用num_rows函数返回。我建议使用,因为mysql_*命令正逐渐被弃用,但无论如何 为了创建一个查询来检查它们是否已经存在,您需要使用SELECT语句
SELECT * FROM following WHERE IdUser = '$id' AND followingID = '$following'
如果你得到1,你就会知道这个关系确实发生了,如果你得到了0,尽管这个关系是假的。如果这个关系已经存在,我会使用num_rows函数返回。我建议使用,因为mysql_*命令正逐渐被弃用,但无论如何 为了创建一个查询来检查它们是否已经存在,您需要使用SELECT语句
SELECT * FROM following WHERE IdUser = '$id' AND followingID = '$following'
如果你得到1,你就会知道这个关系确实发生了,如果你得到了0,尽管这个关系是假的。你必须为此进行交易 首先执行选择
SELECT * FROM following where idUser = $id AND followingID = $followingId
现在,若上面的查询选择了一行或多行,那个么已经存在一个关系,若并没有行(零行),那个么就并没有关系。对于这两种情况,采取相应的行动
确保根据PHP和SQL语法使用查询。若ID是char或varchar,那个么在查询中,这些ID应该被单逗号或双逗号包围
像这样:
如果ID为varchar或char,则
$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";
如果ID是int或任何其他数字值(根据表中的列)
还要确保我使用的列名和表名是正确的
现在,让我们首先执行查询
$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query
现在,让我们检查它选择了多少行,并采取适当的措施
if(mysql_num_rows($result) > 0){
//do something here or show error because relation already exists
}
else{
//relation already do not exists. so you can insert the record here
}
注意:从PHP 5.5.0开始,mysql\u query和mysql\u num\u rows函数已被弃用。因为我很久以前就用php编写代码了,所以我现在记得这些。您可以在php网站上找到备选方案。但这些功能仍然有效。
和
您必须为此进行交易 首先执行选择
SELECT * FROM following where idUser = $id AND followingID = $followingId
现在,若上面的查询选择了一行或多行,那个么已经存在一个关系,若并没有行(零行),那个么就并没有关系。对于这两种情况,采取相应的行动
确保根据PHP和SQL语法使用查询。若ID是char或varchar,那个么在查询中,这些ID应该被单逗号或双逗号包围
像这样:
如果ID为varchar或char,则
$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";
如果ID是int或任何其他数字值(根据表中的列)
还要确保我使用的列名和表名是正确的
现在,让我们首先执行查询
$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query
现在,让我们检查它选择了多少行,并采取适当的措施
if(mysql_num_rows($result) > 0){
//do something here or show error because relation already exists
}
else{
//relation already do not exists. so you can insert the record here
}
注意:从PHP 5.5.0开始,mysql\u query和mysql\u num\u rows函数已被弃用。因为我很久以前就用php编写代码了,所以我现在记得这些。您可以在php网站上找到备选方案。但这些功能仍然有效。
和
尝试此操作时出错。它可能是因为关系存在而打印错误吗?一会儿,我为您添加了更多解释添加了更多详细信息,如果关系存在/不存在,它应该返回什么?这是针对与PHP API交互的iOS应用程序的。查看我的代码编辑。尝试此操作时出错。它可能是因为关系存在而打印错误吗?一会儿,我为您添加了更多解释添加了更多详细信息,如果关系存在/不存在,它应该返回什么?这是针对与PHP API交互的iOS应用程序的。查看我的代码编辑。