我知道这个问题已经被问过了,但我几乎已经试过了所有我能找到的问题,但我还是得到了错误:
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/