今天我尝试使用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