PHP / MySQLi: УСТАНОВИТЬ lc_time_names и DATE_FORMAT () в запрос mysqli? - PullRequest
1 голос
/ 20 апреля 2009

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

$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();
    }

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

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

Спасибо !!

Ответы [ 3 ]

5 голосов
/ 20 апреля 2009
$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();
        }
1 голос
/ 20 апреля 2009

Другой вариант - вернуть необработанные дату / время, а затем отформатировать их в PHP.

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

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

0 голосов
/ 06 июня 2019
SET lc_time_names = 'es_PE';
SELECT *, DATE_FORMAT(fecha,'%d de') AS dia,
DATE_FORMAT(fecha,'%M  %Y') AS mes
 FROM t_eventos4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...