0

我想询问查询以选择表中可以匹配特定条件的最后一条记录。

以下代码可以成功执行并在phpmyadmin中给出正确的记录

SELECT TYPE FROM log WHERE TechID=4 ORDER By LogTime DESC LIMIT 1

但是,当我在我的 php 文件中形成查询并执行时,它会给出错误。

$query2 = "SELECT Type FROM Log WHERE TechID=".$row1['TechID']."ORDER BY LogTime DESC LIMIT 1"

这是错误消息:

错误!您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“BY LogTime DESC LIMIT 1”附近使用正确的语法。

谁能告诉我发生了什么,myquery 应该和我在 phpmyadmin 中使用的一样

以下是我为测试文件而创建的示例记录。

LogID TechID ClientID SiteID Type     LogTime
1     2      5        1      Checkin  2012/07/04 09:00
2     4      5        1      Checkin  2012/07/04 09:00
3     2      5        1      Checkout 2012/07/04 10:00
4

2 回答 2

3

我会在订单声明之前放一个空格。

" ORDER"
于 2012-07-16T02:19:53.543 回答
0

另一件事可能是一个问题(虽然不是在这里):字符串必须在 PHP 中用双引号转义,而不是单引号(请不要问我为什么)。因此,

mysqli_query("select * from tabel where name = 'peter'");

将是错误的,并且

mysqli_query("select * from tabel where name = \"peter\"");

或者

mysqli_query('select * from tabel where name = "peter"');

将会成功。

于 2016-02-27T02:06:16.803 回答