Подготовленные PHP операторы с DATE_FORMAT и AS
Эта команда работает:
SELECT `username`, DATE_FORMAT( date_register , '%d %M %Y' ) AS 'date' FROM `client` WHERE email = 'ali@abu.com' 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);