Эта команда работает:
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
Строка выше не работает. Какой правильный синтаксис? Заранее спасибо.
Вот правильный синтаксис:
Сначала создайте переменную для литеральной строки формата даты:
$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);
Других решений пока нет …