PHP / MySQLi: установить lc_time_names и DATE_FORMAT () в запрос mysqli?

Я использую следующий код для извлечения данных из таблицы в базе данных:

$check_sql = 'SELECT personID, name, DATE_FORMAT(persons.birthdate, "%d de %M, %Y"), birthplace, countryID FROM persons WHERE personID = ?'; if ($stmt->prepare($check_sql)) { $stmt->bind_param('i', $pid); $stmt->bind_result($personDB, $name, $birthdate, $birthplace, $countryID); $stmt->execute(); $stmt->fetch(); } 

Как вы можете видеть, в то же время я отформатирую дату из столбца «дата рождения» на более дружественный показ с помощью функции DATE_FORMAT () MySQL. Теперь я хочу показать полные имена месяца на испанском языке, поэтому я хочу вставить в SET lc_time_names = 'es_ES' .

Как мне это сделать??? Могу ли я добавить SET lc_time_names в переменную $ check_sql?

Благодаря!!

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $mysqli->query("SET lc_time_names = 'es_ES'"); $check_sql = 'SELECT personID, name, DATE_FORMAT(persons.birthdate, "%d de %M, %Y"), birthplace, countryID FROM persons WHERE personID = ?'; if ($stmt = $mysqli->prepare($check_sql)) { $stmt->bind_param('i', $pid); $stmt->bind_result($personDB, $name, $birthdate, $birthplace, $countryID); $stmt->execute(); $stmt->fetch(); } 

Другой вариант – вернуть исходную дату / время, а затем отформатировать его на PHP.

Прежде чем форматировать дату, вы можете использовать функцию setlocale () в PHP для получения испанского вывода.

Это имеет дополнительное преимущество – не запускать функцию в mysql, которая может быть медленнее.