gpt4 book ai didi

php - 在 WHERE 子句中包含数组的 SELECT 语句

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

我正在尝试跟踪我网站上的综合浏览量,无论用户是否登录,因此我在我的日志中捕获了 sessionId。我只想显示在某个时候登录的 session ID 的跟踪结果,因此我的流程如下:

$pagestats = $wpdb->get_results("SELECT * FROM wp_user_stats WHERE uid=".$_GET['viewstats']);
$sessionArray = array();

foreach($pagestats as $checkSession)
{
if( !(in_array($checkSession->sessionId, $sessionArray)))
{
$sessionArray[] = $checkSession->sessionId;
}
}

接下来,我试图收集与该特定用户生成的任何 session ID 相关的所有统计信息......

$sessions = join(',',$sessionArray);
$pagestats = $wpdb->get_results("SELECT * FROM wp_user_stats WHERE `sessionId` IN($sessions)") or die(mysql_error());

这是抛出错误的部分。错误是:

Unknown column 'sjhntmqhltknks8pbhr750voe7' in 'where clause'

我不明白为什么它要尝试查找与 session ID 匹配的列而不是该列中的结果。

最佳答案

session ID 可能没有被引用,所以查询看起来像 WHERE sessionID IN(abc, def, ...)

解决这个问题的一种方法是在第一个循环中更改一行:

$sessionArray[] = "'".$checkSession->sessionId."'";

或者您可以创建第二个带有引号值的数组。

关于php - 在 WHERE 子句中包含数组的 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12046627/

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