Php 错误:";SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误&引用;。.env或PDO中的问题?
我正在修改其他人的代码,并得到一个 “SQLSTATE[42000]:语法错误或访问冲突:1064您有 SQL语法中的错误“错误” 我的第一个想法是我没有正确安装slim,但再次安装并没有任何区别。因此,问题可能出在.env文件或PDO中。有人能帮忙吗 PDO: .env: eventmodel的第一部分:Php 错误:";SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误&引用;。.env或PDO中的问题?,php,sql,pdo,localhost,slim,Php,Sql,Pdo,Localhost,Slim,我正在修改其他人的代码,并得到一个 “SQLSTATE[42000]:语法错误或访问冲突:1064您有 SQL语法中的错误“错误” 我的第一个想法是我没有正确安装slim,但再次安装并没有任何区别。因此,问题可能出在.env文件或PDO中。有人能帮忙吗 PDO: .env: eventmodel的第一部分: declare(strict_types=1); namespace App\Model; use DateTime; class EventModel extends PdoMo
declare(strict_types=1);
namespace App\Model;
use DateTime;
class EventModel extends PdoModel
{
public function getEvents() : array
{
$query = "SELECT e.id,e.name,e.description,e.event_manager_id,em.name as event_manager_name ,
e.company_name,DATE_FORMAT(datetime,'%d-%m-%Y') as date,DATE_FORMAT(datetime,'%H:%i') as time,
e.maximum_amount_of_guests as guests,
FROM event e LEFT JOIN event_manager em ON (em.id = e.event_manager_id) ORDER BY date DESC";
$statement = $this->getConnection()->prepare($query);
$statement->execute();
return $statement->fetchAll();
}
欢迎提出任何建议。我不知道问题出在哪里
SELECT e.id,e.name,e.description,e.event_manager_id,em.name as event_manager_name ,
e.company_name,DATE_FORMAT(datetime,'%d-%m-%Y') as date,DATE_FORMAT(datetime,'%H:%i') as time,
e.maximum_amount_of_guests as guests
FROM event e LEFT JOIN event_manager em ON (em.id = e.event_manager_id) ORDER BY date DESC
您的查询中有语法错误。这个错误相当直截了当。您的env文件很好。在您的查询中,在
FROM
正确的查询:
SELECT
e.id,
e.name,
e.description,
e.event_manager_id,
em.name as event_manager_name,
e.company_name,
DATE_FORMAT(datetime,'%d-%m-%Y') as date,
DATE_FORMAT(datetime,'%H:%i') as time,
e.maximum_amount_of_guests as guests
FROM event e
LEFT JOIN event_manager em ON (em.id = e.event_manager_id)
ORDER BY date DESC
查询中出现错误:
SELECT
e.id,
e.name,
e.description,
e.event_manager_id,
em.name as event_manager_name,
e.company_name,
DATE_FORMAT(datetime,'%d-%m-%Y') as date,
DATE_FORMAT(datetime,'%H:%i') as time,
e.maximum_amount_of_guests as guests
FROM event e
LEFT JOIN event_manager em ON (em.id = e.event_manager_id)
ORDER BY date DESC
这里有一个问题:
e.maximum_amount_of_guests as guests, // this will generate error
FROM event e
1064
清楚地告诉您,您的查询not.env文件中存在问题
您的代码中有问题,但不在。错误消息是一个很好的故障排除工具。在您的例子中,它表示在事件的
附近有语法错误。查看您的查询,FROM前面有一个额外的逗号。问题应作为typo@JayBlanchard:嗨,你好,是的,你是对的,它的打字错误在将来不会有帮助,我添加了一些与服务器错误和1064有关的额外内容。非常感谢!这花了我好几天的时间。我在查询中找不到错误。我是PHP新手,Google告诉我.env文件中应该有问题。代码之前有一个.env问题,这给了我一个模拟错误。因此产生了混乱。谢谢!
e.maximum_amount_of_guests as guests, // this will generate error
FROM event e