首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WHERE IN ($array) AND $array =?

WHERE IN ($array) AND $array =?
EN

Stack Overflow用户
提问于 2014-11-23 04:04:06
回答 2查看 49关注 0票数 0

我有这样的例子,其中$results_array是一个内爆整数数组:

代码语言:javascript
运行
复制
if ($stmt = $cxn->prepare('SELECT id FROM follows WHERE id IN (' . $results_array . ') AND user_id = ?')) {
    $stmt->bind_param('i', $user_id);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($temp);

    $final_array = array();
    while($stmt->fetch()) {
        $final_array[] = $temp;
    }

    $final_array = implode(',', $final_array);

    $stmt->close();
}

问题出在查询的AND检查中。如果我删除了AND检查,它可以正常工作,但我需要在那里进行该检查。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2014-11-23 05:44:49

尝试在屏幕上打印$results_array,以便知道数组的值,然后运行查询以确切地知道错误所在。

票数 0
EN

Stack Overflow用户

发布于 2014-11-23 11:26:29

您的查询使用的是问号占位符而不是:冒号,行$stmt->bind_param( 'i‘,$user_id);要使用1而不是’i‘。或者将SQL替换为和user_id = :i

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27081896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档