mysqli — PHP Подготовленные операторы с DATE_FORMAT и AS

Эта команда работает:

SELECT `username`, DATE_FORMAT( date_register , '%d %M %Y' ) AS 'date'  FROM `client` WHERE email = '[email protected]' LIMIT 1

но мне нужно сделать подготовленные заявления:

SELECT `username`, DATE_FORMAT( date_register , '%d %M %Y' ) AS 'date'  FROM `client` WHERE email = ? LIMIT 1

Строка выше не работает. Какой правильный синтаксис? Заранее спасибо.

-1

Решение

Вот правильный синтаксис:

Сначала создайте переменную для литеральной строки формата даты:

$date_register = '%d %M %Y';

а затем подготовить его:

$stmt = mysqli_prepare($con, 'SELECT `username`, DATE_FORMAT( date_register , ? ) AS 'date'  FROM `client` WHERE email = ? LIMIT 1') or die(mysqli_error($con));

привязать параметр как обычно:

mysqli_stmt_bind_param($stmt, "ss", $date_register, $email);

после выполнения и сохранения результата; получить доступ к выводу как обычно:

mysqli_stmt_bind_result($stmt, $username, $date);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]