今天我嘗試使用SLIM框架爲我的REST Web服務創建更新函數。 但我得到了這個問題。 我一直堅持我的查詢,因爲它不能很好地工作。QUERY ERROR,無法更新數據庫中的查詢
,這是我的課包括查詢
public function updateUserCard($card_id, $user_id, $barcode)
{
$stmt = $this->conn->prepare("UPDATE user_cards uc, cards c
SET uc.barcode = ?
WHERE uc.id = ?
AND uc.id = c.card_id
AND uc.user_id = ?");
if($stmt == FALSE)
{
die($this->conn->error);
}
else
{
$stmt->bind_param("iis", $user_id, $card_id, $barcode);
$stmt->execute();
$num_affected_rows = $stmt->affected_rows;
$stmt->close();
return $num_affected_rows > 0;
}
}
我嘗試更新與新價值「條碼」列。但它沒有奏效。
而且這是我的index.php代碼
$app->put('/cards/users/:id', 'authenticate', function($id) use ($app)
{
// check for required params
verifyRequiredParams(array('barcode'));
global $user_id;
$barcode = $app->request->put('barcode');
$db = new UserCard();
$response = array();
// updating card
$result = $db->updateUserCard($user_id, $card_id, $barcode);
if ($result)
{
// card updated successfully
$response["error"] = false;
$response["message"] = "Card updated successfully";
}
else
{
// card failed to update
$response["error"] = true;
$response["message"] = "Card failed to update. Please try again!";
}
echoRespnse(200, $response);
});
的反應總是喜歡$response["message"] = "Card failed to update. Please try again!";
難道我寫了一個錯誤的代碼? 感謝您的幫助球員:)
您的函數updateUserCard帶有兩個參數($ user_id,$ barcode),並且在調用updateUserCard時,您首先傳遞條形碼,然後傳遞userid。檢查這一行,$ result = $ db-> updateUserCard($ barcode,$ user_id); – 2014-11-02 11:26:22