php - MySQL/PHP如何在WHERE子句中包含数组

标签 php mysql arrays

我知道这个问题已经被问过了,但我几乎已经试过了所有我能找到的问题,但我还是得到了错误:
PHP注意:数组到字符串的转换
以及其他错误:
PHP注意:试图获取非对象的属性
我正在尝试实现跟随者并使用户只接收他们跟随的人的反馈。这是我一直试图使用的代码:
首先,我得到用户正在跟踪的所有人(使用单独的SELECT查询)

$people = $row['FollowingIDs'];

因为people值将包含用户列表的简单字符串,所以如下所示
@有人,@otheruser,@hey
我使用以下方法创建它们的数组:
$followingArray = explode(",", $people);

最后,我在所有事情都出错的地方执行查询:
$sql2 = "SELECT * FROM database.database WHERE SenderID IN  (" . implode(",", $followingArray) . ")";

我已经测试了阵列和所有东西,以确保阵列没有任何问题,我使用:WHERE SenderID = ("' . $followingArray[0] . '")并且没有问题。
更新:有什么办法可以说“WHERE SenderID IN('$followerarray[0]','$followerarray[1]',…”where/in子句中的“$followerArray[上一个索引]”“

最佳答案

$followingArray = explode(",", $people);
$sql = "SELECT * FROM database.database WHERE SenderID IN  (" ;
    $count = 0;
foreach($followingArray as $row=>$value)
{
    if($count==count($followingArray)-1)
    {
        $sql .= "'".$value."'";
    }
    else
    {
        $sql .= "'".$value."',";        
    }

    ++$count;
}
$sql .= ")";

从数据所在的表('a','b','c','d');中选择*这将是查询的最终结果,foreach循环只在单词之间放置'。

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

相关文章:

c# - 使用 PHP SOAP 服务返回一个数组

mysql - 如何编写 SQL 来转换表,使行变为列,反之亦然

php - 如何在 php 自定义日程日历的日期单元格中显示客户姓名

arrays - "$scalar = @array[n]"的后果是什么?

php - 我如何知道(在服务器端)是否有人通过 iframe 或直接访问它?看里面

php - 脚本在调用 mysql_connect() 后无错误地终止

c++ - 在 C++ 中通过套接字发送和接收数组内容

arrays - 删除 R 数组中的维度

php - 如何在 Laravel5 请求类中验证 Money

mysql - 轨道 3 : Measure database performance (MongoDB and MySQL)