Query parameters can only be replaced with a constant value, not a column name.
All columns and tables should be named at the time of preparing the query; you cannot delay the selection of columns for the next execution step.
, , " " , . . map , SQL-, .
$lang_col_map = array(
"DEFAULT" => "english",
"en" => "english",
"es" => "spanish"
);
$lang_col = $lang_col_map[ $_POST["language"] ] ?: $lang_col_map[ "DEFAULT" ];
$sql='SELECT phrase,$lang_col FROM static_site_language WHERE page=?;';
$pds=$database->pdo->prepare($sql);
$pds->execute(array($_POST['languagepage']));
, , $lang_col_map SQL-, - HTTP-, , . , SQL-.
. SQL Injection Myths and Fallacies.