我在MySQL中有一列,其中date是一个字符串(d / m / Y)。 当我尝试按日期排序该表时,出现内部服务器错误,但没有任何反应:
$pdo->prepare('SELECT IdOrder,Name,Lname,Phone,Date FROM ordenes WHERE Lname LIKE ? ORDER BY STR_TO_DATE(Date, '%d/%m/%Y') DESC LIMIT 50');
我在做什么错了?
答案 0 :(得分:1)
也许可行
$pdo->prepare("SELECT IdOrder,Name,Lname,Phone,Date FROM ordenes WHERE Lname LIKE ? ORDER BY STR_TO_DATE(Date, '%d/%m/%Y') DESC LIMIT 50");
您正在查询和日期格式中都使用单引号,因此会出现PHP错误。 另一种方法是使用反斜杠:
$pdo->prepare('SELECT IdOrder,Name,Lname,Phone,Date FROM ordenes WHERE Lname LIKE ? ORDER BY STR_TO_DATE(Date, \'%d/%m/%Y\') DESC LIMIT 50');