在phpmyadmin中查询成功但在php中失败

时间:2012-07-16 02:12:10

标签: php mysql phpmyadmin

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

以下代码可以成功执行并在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

2 个答案:

答案 0 :(得分:3)

我在订单声明前加了一个空格。

" ORDER"

答案 1 :(得分:0)

另一件可能是问题的事情(虽然不是这里):字符串必须使用PHP中的双引号进行转义,而不是单引号(请不要问我原因)。因此,

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

将为false,

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

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

会成功。