Я не могу найти ответы на этот вопрос на нескольких сайтах, потому что я думаю, что мой код выглядит совершенно нормально, однако он все еще не работает ...
public function uploadDriveCode($data){
if(isset($data->org)){$org = htmlspecialchars($data->org);}else{return false;}
if(isset($data->code)){$code = htmlspecialchars($data->code);}else{return false;}
session_start();
if(isset($_SESSION['userid'])){
$userid = $_SESSION['userid'];
if($org=="gdrive"){
$gdrive_code = $code;
$dropbox_code = NULL;
$sql = "INSERT INTO drives (userid, gdrive_code, dropbox_code) VALUES (:userid, :gdrive_code, :dropbox_code) ON DUPLICATE KEY UPDATE drives SET gdrive_code = :gdrive_code WHERE userid = :userid";
}else{
$gdrive_code = NULL;
$dropbox_code = $code;
$sql = "SET IDENTITY_INSERT drives ON; INSERT INTO drives (userid, gdrive_code, dropbox_code) VALUES (:userid, :gdrive_code, :dropbox_code) ON DUPLICATE KEY UPDATE drives SET dropbox_code = :dropbox_code WHERE userid = :userid SET IDENTITY_INSERT drives OFF;";
}
$stmt = $this->database->getPDO()->prepare($sql);
$stmt->bindParam(':userid', $userid);
$stmt->bindParam(':gdrive_code', $gdrive_code);
$stmt->bindParam(':dropbox_code', $dropbox_code);
if($stmt->execute()){
error_log("executed");
$result = $stmt->fetch();
setResult("OK");
return true;
}else{
return false;
}
}else{
return false;
}
}
Это все PHP код Поэтому я попытался проверить, работает ли это, с помощью error_log (), но я так или иначе не дохожу до «выполненной» части ... она всегда просто возвращает false, даже если я не получаю никакого сообщения об ошибке.