user` (userId, achievementId) VALUES (:userId, :achievementId);",
array(
':userId' => array('value'=>$anUserId, 'data_type'=>PDO::PARAM_INT),
':achievementId'=> array('value'=>$anAchievementId, 'data_type'=>PDO::PARAM_INT)
)
);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "
queryString: ".$queryString."
"; var_dump($bindArray);
}
return;
}
/// einem User ein Achievement entziehen
function withdrawUsersAchievement($aDbConnection, $anUserId, $anAchievementId, $limit = NULL){
try{
// Variablen für das Binden an die Query vorbereiten
// inklusive Validierung der Werte
$bindArray = array();
if( is_positive_integer( $anUserId ) ){
$bindArray[':userId'] = array('value'=>$anUserId, 'data_type'=>PDO::PARAM_INT);
}
else{
throw new InvalidArgumentException("withdrawUsersAchievement: userId must be positive integer!");
}
if( is_positive_integer($anAchievementId) ){
$bindArray[':achievementId'] = array('value'=>$anAchievementId, 'data_type'=>PDO::PARAM_INT);
}
else{
throw new InvalidArgumentException("withdrawUsersAchievement: anAchievementId must be positive integer");
}
if( is_positive_integer( $limit ) ){
$bindArray[':limit'] = array('value' => $limit, 'data_type' => PDO::PARAM_INT);
}
// Zusammenstellen der Query
$queryString =
"DELETE FROM `achievements<=>user` ".
"WHERE `userId`=:userId ".
"AND `achievementId`=:achievementId".
(is_positive_integer( $limit )?" LIMIT :limit":"").
";";
echo("queryString: ".$queryString."
"); var_dump($bindArray);
dbQuery(
$aDbConnection,
$queryString,
$bindArray
);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "
queryString: ".$queryString."
"; var_dump($bindArray);
}
return;
}// Ende withdrawUsersAchievement
var_dump($_GET);
$actions = ["giveUserAnAchievement", "withdrawUsersAchievement"];
$dbConn = getCwsvJudoDbConn();
$dbConn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
if(isset($_GET['action'])){
switch($_GET['action']){
case "giveUserAnAchievement":
try{
giveUserAnAchievment($dbConn, intval($_GET['userId']), intval($_GET['achievementId']));
}
catch(Exception $e){
print("UPS: ".$e->getMessage());
}
break;
case "withdrawUsersAchievement":
try{
withdrawUsersAchievement($dbConn, intval($_GET['userId']), intval($_GET['achievementId']));
}
catch(Exception $e){
print("UPS: ".$e->getMessage());
}
break;
default:
echo("Ungültige Aktion (".$_GET['action'].") erwünscht!");
break;
}
}
$users =
dbQuery(
$dbConn,
"SELECT * FROM cwsvjudo.wkParticipo_Users;"
);
$userAchievements =
dbQuery(
$dbConn,
"SELECT * FROM cwsvjudo.achievements;"
);
?>