PHP使用DATE_FORMAT和AS编写语句

时间:2015-02-12 01:30:53

标签: php mysqli prepared-statement date-formatting sql-date-functions

此命令有效:

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 个答案:

答案 0 :(得分:0)

这是正确的语法:

首先为文字日期格式字符串创建变量:

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