gpt4 book ai didi

php - 正确使用多个 AND、OR MySQL 语句

转载 作者:行者123 更新时间:2023-11-29 00:16:31 26 4
gpt4 key购买 nike

我在使用多个 AND、OR Mysql 语句时感到困惑。例如我有这个查询:

$ip_sql= $connector->query("select count(id) AS count FROM likes WHERE 
content_id='$id' AND (ip='$ip' OR user='$_SESSION[user_id]')");
$rw90 = $connector->fetchArray($ip_sql);
$count = $rw90['count'];

if($count==0) {...}

在这里,我尝试检查用户是否喜欢某个内容。我想再检查一下:

  1. 搜索用户是否在 likes 表中
  2. 检查他的IP是否在likes表中
  3. 如果两个条件都返回0结果就OK

我想我可以通过 2 个查询来完成,比如:

$result1 = $connector->query("SELECT count(id) as cn FROM likes 
WHERE user='$current_user' AND content_id='$id'");
$row1 = $connector->fetchArray($result1);
if($row1['cn'] > 0) {/*stop here*/}
else {
$result2 = $connector->query("SELECT count(id) as cn2 FROM likes
WHERE ip='$current_ip' AND content_id='$id'");
$row2 = $connector->fetchArray($result2);
if($row2['cn2']>0) {/*stop here*/}
else {/*it's ok!*/}
}

但我想将这 2 个查询集中在 1 个中。我的第一个代码没有返回我需要的内容。提前谢谢你

刚刚尝试了以下代码。它也不起作用

select count(id) AS count 
from likes where content_id='$id' and ((ip='$ip' OR user='$_SESSION[user_id]') OR (ip='$ip' AND user='$_SESSION[user_id]'))

最佳答案

"select count(id) AS count FROM likes WHERE 
content_id='" . $id . "' AND (ip='" .$ip . "' OR user='" . $_SESSION[user_id] . "')";

您的初始查询看起来是正确的 -> 请尝试此操作以确保正确传递了变量。如果它不起作用,请告诉我,我会帮助您找到正确的答案!

关于php - 正确使用多个 AND、OR MySQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22798627/

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