首页 > 解决方案 > 迄今为止的字符串不起作用(php & MySQL

问题描述

我在 MySQL 中有一个列,其中日期是一个字符串 (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');

我究竟做错了什么?

标签: mysqlpdo

解决方案


也许这行得通

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

推荐阅读