에 마지막으로 삽입 된 ID를 반환합니다. 그래서 쿼리에서 마지막으로 삽입 한 ID를 가져오고 싶습니다. I 나는 성공적으로 마지막으로 삽입 된 ID를 얻을 수 있지만, 시도는 index.php 파일에 반환 할 때 약간의 문제가이 내 방법 코드PHP : 성명
:
public function InsertUserCard(UserCard $uc)
{
if(!$this->DuplicateUserCard($uc))
{
$stmt = $this->conn->prepare("INSERT INTO ".$this->table_name."
(user_id, card_id, barcode, barcode_format, created_at, updated_at)
VALUES(?, ?, ?, ?, ?, ?)");
if ($stmt == FALSE)
{
die($this->conn->error);
}
else
{
$user_id = NULL;
$card_id = NULL;
$barcode = NULL;
$barcode_format = NULL;
$created_at = NULL;
$updated_at = NULL;
$stmt->bind_param("iissss", $user_id, $card_id, $barcode, $barcode_format, $created_at, $updated_at);
$user_id = $uc->getUserId();
$card_id = $uc->getCardId();
$barcode = $uc->getBarcode();
$barcode_format = $uc->getBarcodeFormat();
$created_at = $uc->getCreatedAt();
$updated_at = $uc->getUpdatedAt();
$stmt->execute();
$result = $this->conn->insert_id; <-- This is how I get the last inserted id
$stmt->close();
}
// Check for successful insertion
if ($result)
{
// User card successfully inserted
return USER_CARD_INSERTED_SUCCESSFULLY;
}
else
{
// Failed to insert user card
return USER_CARD_INSERT_FAILED;
}
}
else
{
return USER_CARD_ALREADY_EXISTED;
}
}
이 내 index.php 파일입니다 당신이 보는대로
$app->post('/user/card/rev', 'authenticate', function() use ($app)
{
// check for required params
verifyRequiredParams(array('user_id', 'card_id', 'barcode', 'barcode_format', 'created_at', 'updated_at'));
global $user_id;
$response = array();
$timestamp = time();
$now = date("Y-m-d H:i:s", $timestamp);
$uc = new UserCard();
$uc->setUserId($user_id);
$uc->setCardId($app->request->post('card_id'));
$uc->setBarcode($app->request->post('barcode'));
$uc->setBarcodeFormat($app->request->post('barcode_format'));
$uc->setCreatedAt($app->request->post('created_at'));
$uc->setUpdatedAt($app->request->post('updated_at'));
// choose card from db by user
$UserCardDB = new UserCardDB(MySqlDb::getInstance()->connect());
$UserCard = $UserCardDB->InsertUserCard($uc);
if ($UserCard == USER_CARD_INSERTED_SUCCESSFULLY)
{
$response["error"] = false;
$response["message"] = "User Card added successfully";
$response["current_timestamp"] = $timestamp;
$response["current_date"] = $now;
$response["last_inserted_id"] = SHOULD_BE_HERE;
echoRespnse(201, $response);
}
});
, 나는 $response["last_inserted_id"]
에 마지막으로 삽입 된 ID를 넣어 원하는,하지만 난 그것을하는 방법을 모르겠어요.
어떤 아이디어가 있습니까?
감사합니다 :)
를 표시 $ 응답 [ "last_inserted_id을"] 변경, 위의 내 코드를 다시 확인하십시오, 그것은 위의 내 코드를 다시 확인하시기 바랍니다 USER_CARD_INSERT_FAILED – TableMan
를 반환합니다 , 나는 이미 구조체를 바꾼다. 그러나 $ response [ "last_inserted_id"]는 잘못된 id를 표시한다. – TableMan
값을 반환하지 않으면 결코 id를 얻지 못할 것이다. – JuanSedano