Nesne

2016-04-01 30 views
1

Bir tablodaki kullanıcıların kimlikleri birleştiren bir arkadaşlık isteği gönderin çalışıyorum katına dönüştürülür, ama bir yerlerde bir hata yapmış görünüyor edilememiştir.Nesne

public function sendRequest($user_one_id, $user_two_id, $status, $action_user_id) { 
    $stmt = $this->conn->prepare("INSERT INTO relationship(user_one_id, user_two_id, status, action_user_id) VALUES (?, ?, ?, ?)"); 
    $stmt->bind_param("iiii", $user_one_id, $user_two_id, $status, $action_user_id); 
    $result = $stmt->execute(); // HERE IS AN ERROR 
    $stmt->close(); 

    if (!$result) { 
     return NULL; 
    } else { 
     return TRUE; 
    } 
} 

hata i alıyorum: Burada kodun parçasıdır

Object of class Slim\Http\Request could not be converted to double 

DÜZENLEME:

$app->post('/send_request', function() use ($app) { 

// check for required params 
verifyRequiredParams(array('user_one_id', 'user_two_id', 'status', 'action_user_id')); 

// reading post params 
$user_one_id = $app->request('user_one_id'); 
$user_two_id = $app->request('user_two_id'); 
$status = $app->request('status'); 
$action_user_id = $app->request('action_user_id'); 
$response = array(); 

$db = new DbHandler(); 

$relationship = $db->sendRequest($user_one_id, $user_two_id, $status, $action_user_id); 

if ($relationship != NULL) { 
    $response["error"] = false; 
    $response["request"]["user_one_id"] = $relationship["user_one_id"]; 
    $response["request"]["user_two_id"] = $relationship["user_two_id"]; 
    $response["request"]["status"] = $relationship["status"]; 
    $response["request"]["action_user_id"] = $relationship["action_user_id"]; 
} else { 
    $response["error"] = true; 
    $response["message"] = "An error occurred. Please try again later."; 
} 
echoRespnse(200, $response); 
}); 
+0

Yöntemi nasıl ararsınız? –

+0

Düzenlenmiş cevabımı kontrol et. –

+0

Ben Slim ile hiç çalışmamış ama deneyimli kimse yardımcı beri ... Ne seni içine kapanması değiştirirseniz: ... '$ app-> yayının ('/ send_request', function ($ isteği)' ve ardından post parametreleri almak '$ user_one_id = $ request-> getParam ('user_one_id');', hala aynı hata? Bu başka bir şey alıp sonra param yazıyormuş gibi geliyor. Belki de 4 değişkeninin var_dump'ı, nesnenin gerçekte ne olduğuna daha fazla ipucu verebilir. ... doldurulan tabloda Row. o garip, biraz – lp1051

cevap

0

:

Bu şimdiye yöntem arıyorum nasıl verifyRequiredParams işlevinizde ne olur? Gönderdiğiniz kodda, Slim\Http\Request nesnesinin dönüşümünü göremiyorum. Söyleyebileceğim kadarıyla

$user_one_id = $app->request('user_one_id'); 
$user_two_id = $app->request('user_two_id'); 
$status = $app->request('status'); 
$action_user_id = $app->request('action_user_id'); 

, bunlar Slim istek nesnesi ile bir şey yapmak kod sadece çizgilerdir. Ayarladığınız bu değişkenlerdeki değerlerin doğru olduğunu doğrulayabilir misiniz? var_dump() gibi ve kodunuza bir exit koyun ve ne yazdığını görün.

+0

Fonksiyonu 'yürütmek Bunu göndermeye çalıştığımda, ben gönderdiğim değerleri alamıyorum. Tabloda aldığım değerler 1, 1, 1, 1 ve aynı zamanda bu hatayı alıyorum: 'Nesnenin Sağıdının Nesnesi \ Http \ İstek kodun bu satırında çifte dönüştürülemedi:' aslında değerleri 1, 1, 1 ve 1. '' sendRequest' işlevi içinde parametreleri can var_dump' –

+0

var_dump (tüm değişkenler; $) (yürütme> = $ stmt- sonuçlanır? Eğer hata $ $ = $ stmt-> execute(); 'dediğiniz gibi ise, eklediğiniz değişkenlerden biri' Slim \ Http \ Request' nesnesi olmalıdır. –

+0

elde ettiğinden emin olmak için) ' – brense