我想为所有与用户相关的更新发出用户通知。所以下面我试着做一些sql查询。
这里我的查询无法让我的所有关注者ID进行第三次查询。
这里给出了我的详细工作:
MethodNotAllowedHttpException in RouteCollection.php line 201:
更新:此处第三次查询得到的ID少了两次或更多
这里有关于foreach的问题..替换为
$_GET['uid'] = $session->id;
// Find out all follower id by user
$rows=array();
$q = mysqli_query($dbh,"SELECT friend_two
FROM follow
WHERE friend_one='".$_GET['uid']."'")
or die(mysqli_error($dbh));
while ($row = mysqli_fetch_assoc($q)) {
$rows[]["friend_two"] = $row['friend_two'];
}
// Find out all pages id liked by user
$rows=array();
$d = mysqli_query($dbh,"SELECT userid
FROM likes_user
WHERE ip='".$_GET['uid']."'")
or die(mysqli_error($dbh));
while ($row = mysqli_fetch_array($d)) {
$rows[]["userid"] = $row['userid'];
}
foreach($rows as $row) {
$f2_id = $row['friend_two'];
$pageid = $row['userid'];
// echo all ids for test
// **** cannot echo all $f2_id ids for test ****
echo $f2_id;
echo '<br>';
echo $pageid;
// Get all update ids
$g = mysqli_query($dbh,"SELECT id
FROM update WHERE
`to_id`='".$myid."'
AND `from_id`='".$f2_id."'
OR `to_id`='".$pageid."'
OR `from_id`='".$pageid."'
AND `to_id`=''")
or die(mysqli_error($dbh));
while ($rows = mysqli_fetch_assoc($g)) {
$ids[]= $rows['id'];
// ids will go for next query
}
}
答案 0 :(得分:0)
基本上你构建的$rows
数组看起来并不像你认为的那样!
要在$rows
数组中查看实际生成的内容,请在尝试处理print_r()
数组之前添加$rows
,并且问题应该变得明显。
喜欢这个
print_r($rows);
foreach($rows as $row) {
$f2_id = $row['friend_two'];
$pageid = $row['userid'];
你如何解决这个问题我不确定,因为我不知道你的数据库!
此脚本中还有许多其他问题,太多了。