-3
$num = "1";
$result = mysql_query("SELECT * FROM perp_users WHERE concat(activate) LIKE '$num'");

只需要一个简单的解释

我知道它从从表中选择的 sql 中检索结果,然后我会感到困惑。

请解释谢谢!

4

3 回答 3

2

此代码段从表中提取所有列perp_users,其中列activate类似于“1”;

大概可以改写为:

SELECT *
FROM perp_users
WHERE activate = '$num';

CONCAT()将列连接成一个结果,但由于您只在一列上使用它,因此没有必要。

于 2012-06-01T16:21:27.350 回答
0

在这种用法中,concat(activate)与 相同activate。该concat()函数连接字符串,通常与多个参数一起使用,例如

...  concat (str1, str2, str3, str4, str5) ...

LIKE运算符进行字符串比较,这比直接=;更轻松。它还允许使用简单的通配符。

于 2012-06-01T16:24:52.217 回答
0

LIKE 运算符用于搜索列中的指定模式。它最常与通配符一起使用。

concat是连接,或连接两列的结果。在这种情况下,它什么也没做,因为它只发送了一列。通常它会发送多个参数来一起联系,即。concat (col1, col2, col3).

完整查询是从表perp_users中选择activate与模式匹配的所有列$num。在这种情况下,concat()LIKE都是不必要的。

于 2012-06-01T16:28:34.250 回答