Kimliği olmayan tamsayı ...

0 Cevap php

Ben bulunuyor belirli bir kimliği paylaşan tüm cihazlar almak bir yöntem var. Bu cihaz UID yılların Foreach, ben easyAPN sınıfını kullanarak bir APN (Apple Push Notification) göndermek için çalışıyorum.

Sorunu yaşıyor yöntem $ APN-> newMessage ($ id);

Ben $ id için geçerli bir tamsayı geçirerek değilim düşünüyor.

$ Id yani Array gibi bir dizidir ([0] => 1)

Ben de gibi dizinin sadece değerini geçen denedim yani $ APN-> newMessage ($ id [0]).

Ne olursa olsun ben ne .. ben bu hatayı almaya devam ...

"Uyarı:. Kimliğine bir tamsayı değildi 1) Messages_model :: send_apns -> Dosya: sendMessage.php (line 28) 2) Apns :: queueMessage -> Dosya: messages_model.php (line 195) 3) APNS :: _triggerError -> Dosya: class_APNS.php (line 599) "

İşte benim yöntem ... Ben $ id Yanlış yaptığımda bana bildirin lütfen.

function send_apns($data)
{
    include 'apn_classes/class_DbConnect.php';
    include 'apn_classes/class_APNS.php';

    $message = new Messages_model();
    $db = new DbConnect();
    $db->show_errors();
    $apns = new APNS($db);

    //get uid's for aid
    $sql = "SELECT `devices`.`uid` FROM `devices` WHERE `devices`.`aid` = '".$data['target']."'";
    //echo $sql;
    $query = mysql_query($sql);
    if(mysql_num_rows($query))
    {
    while($uid_data = mysql_fetch_array($query))
        $uids[] = array(
            "uid" => $uid_data['uid']
        );
    }

    //make sure there is a uid
    if(!empty($uids))
    {
        //check the device apn pid
        foreach($uids as $uid)
        {
            $sql = "SELECT `apns_devices`.`pid` FROM `apns_devices` WHERE `apns_devices`.`deviceuid` = '".$uid['uid']."'";
            //echo "$sql";
            $query = mysql_query($sql);
            if(mysql_num_rows($query) > 0)
            {
                while($pid_data = mysql_fetch_array($query))
                {
                    $pids[] = array(
                        "pid" => $pid_data['pid'],
                    );

                    if(!empty($pids))
                    {
                        foreach ($pids as $pid)
                        {
                            $id = array($pid['pid']);
                            print_r($id);
                            //Send APN
                            $apns->newMessage($id[0]);
                            $apns->addMessageBadge(128);
                            $apns->addMessageAlert($data['message']);
                            $apns->addMessageSound('chime');
                            //$apns->addMessageCustom('acme2');
                            $apns->queueMessage();
                            $apns->processQueue();
                        }
                    }                   
                }
            }
        }

    }
    else 
    {
        echo "Device Does not Exist";
    }



}

0 Cevap