gpt4 book ai didi

mysql - 如何从同一列中有 2 个变量的查询中生成结果

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

这是我的问题

SELECT * FROM wp_postmeta WHERE meta_value LIKE '".$_POST['username']."' AND meta_value LIKE '".$_POST['password']."'

问题是 meta_value 用户名和 meta_value 密码在 2 个不同的行中。我需要进行一个查询来查找两者并告诉我我查找的变量是否在这些行中。所以我希望结果以简单的方式返回 1

mysql_num_rows();

我知道这很愚蠢,应该在不同列的同一行上,但我需要使用那些愚蠢的 wordpress 插件,他们按它想要的那样做。

最佳答案

您可以将 HAVING 子句与 GROUP BY 结合使用来检索满足 ALL 条件的行,这些条件发生在多行而不是多列中:

SELECT
*
FROM
wp_postmeta
WHERE
meta_value IN ('$filtered_username','$filtered_password')
GROUP BY
meta_id
HAVING
COUNT(*) = 2

不要直接在查询中插入 $_POST 值,那是对 SQL 注入(inject)攻击的公开呼吁。因为您正在使用已弃用的 mysql_* 函数:至少,通过 mysql_real_escape_string() 运行您的 $_POST 变量。不过最好用PDO及其对 prepared statements 的支持.

关于mysql - 如何从同一列中有 2 个变量的查询中生成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107320/

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