MySql如何向所有用户发送消息PHP
MySql how can I send a message to all users PHP
所以我正在尝试向数据库中的所有用户发送一条消息。我看到了另一篇文章,但它用于电子邮件,并且在它们之间有逗号。我不知道,但也许有一些解决方案可以正确插入包含所有用户 ID 的数据。
while($row = mysqli_fetch_array($result))
{
$users[] = $row['ID'];
}
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$users[]')";
这给出了 Array(),但它似乎不是这样工作的。
所以我用了
$user = implode(", ", $users);
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$user')";
之后它仍然不起作用,这是因为它在 ID 之间使用逗号并且仅适用于电子邮件。之后我搜索了 google 但找不到任何相关信息。
所以我最后的希望就在这里,帮助其他有同样问题的人。
"INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$users[]')"
- 这里 'user_ID' 的值应该是单个 user_id 值,而不是数组。
您可以查看以下查询:
while($row = mysqli_fetch_array($result))
{
$users[] = $row['ID'];
}
foreach ($users as $user_id)
{
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$user_id')";
// Execute the Query;
}
另一种方法可以是:
如果您想将它们一起插入,而不是针对每个用户的单个查询,则可以按以下方式更改您的查询;
"INSERT INTO tbl_name (notfi, thumb_src, title, url, user_ID)
VALUES
('$msg', '$src', '$title', '$url', '$users[0]'),
('$msg', '$src', '$title', '$url', '$users[1]'),
('$msg', '$src', '$title', '$url', '$users[2]')
....
('$msg', '$src', '$title', '$url', '$users[(count($users) - 1)]')"
但在这种方法中,如果查询变得太大,或者如果任何插入有任何错误,其余插入将失败。
所以我正在尝试向数据库中的所有用户发送一条消息。我看到了另一篇文章,但它用于电子邮件,并且在它们之间有逗号。我不知道,但也许有一些解决方案可以正确插入包含所有用户 ID 的数据。
while($row = mysqli_fetch_array($result))
{
$users[] = $row['ID'];
}
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$users[]')";
这给出了 Array(),但它似乎不是这样工作的。
所以我用了
$user = implode(", ", $users);
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$user')";
之后它仍然不起作用,这是因为它在 ID 之间使用逗号并且仅适用于电子邮件。之后我搜索了 google 但找不到任何相关信息。
所以我最后的希望就在这里,帮助其他有同样问题的人。
"INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$users[]')"
- 这里 'user_ID' 的值应该是单个 user_id 值,而不是数组。
您可以查看以下查询:
while($row = mysqli_fetch_array($result))
{
$users[] = $row['ID'];
}
foreach ($users as $user_id)
{
$sendmes = "INSERT INTO notify (notfi, thumb_src, title, url, user_ID) VALUES ('$msg', '$src', '$title', '$url', '$user_id')";
// Execute the Query;
}
另一种方法可以是: 如果您想将它们一起插入,而不是针对每个用户的单个查询,则可以按以下方式更改您的查询;
"INSERT INTO tbl_name (notfi, thumb_src, title, url, user_ID)
VALUES
('$msg', '$src', '$title', '$url', '$users[0]'),
('$msg', '$src', '$title', '$url', '$users[1]'),
('$msg', '$src', '$title', '$url', '$users[2]')
....
('$msg', '$src', '$title', '$url', '$users[(count($users) - 1)]')"
但在这种方法中,如果查询变得太大,或者如果任何插入有任何错误,其余插入将失败。