[英]MySQLi Multi_Query Post
我正在使用JSON將數據發送到我的PHP API。 我想使用此API向我的Android用戶發送推送通知。 我面臨一個奇怪的問題。 從JSON,我正在發送Mobile Number
, Mobile Number Status
和User Id
。
我的數據庫中有兩個表:
id
, fcm
和fcm_enabled
字段的user
number_list
具有名為number
, name
和user_id
字段 現在,我想向1
從JSON獲得的任何數字狀態發送推送通知。 要發送它需要檢查的通知fcm_enabled=1
,那么它需要獲得fcm
從關鍵fcm
字段從table 1
的用戶,並且name
從table 2
的名字。
在正常情況下,它可以正常工作,但是如果兩個用戶的手機號碼相同,那么我在一台設備上會收到兩個通知,而另一台設備上會收到一個通知。
我認為查詢中有問題。 讓我知道是否有人可以幫助我解決我的問題。 最近兩天我一直在嘗試,但是沒有成功。
$number = $_GET["number"];
$status = $_GET["status"];
$userIds = $_GET["userId"];
$sql = "";
for($i = 0; $i < count($number); $i++) {
if($status[$i] == 1) {
$sqlSelect = "SELECT t2.name, t1.fcm, t1.fcm_enabled FROM user AS t1 INNER JOIN number_list AS t2 ON t1.id = t2.user_id WHERE t2.number = '$number[$i]'";
$resultSelect = $conn->query($sqlSelect);
if($resultSelect) {
while($row = $resultSelect->fetch_row()) {
if($row[2] == 1) {
sendFCM(array("title" => $row[0] . " is Online", "body" => ""), array("message" => ""), $row[1]);
}
}
}
}
}
謝謝。
如果兩個用戶的號碼相同,則可能是獲取用戶的重復記錄。 “分組依據”提取號碼可以為您提供幫助。
使用以下命令更新了查詢:
$sqlSelect = "SELECT t2.name, t1.fcm, t1.fcm_enabled FROM user AS t1 INNER JOIN number_list AS t2 ON t1.id = t2.user_id WHERE t2.number = '$number[$i]' GROUP BY t1.id";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.