我想问一下查询,以选择表中可以匹配特定条件的最后一条记录。
以下代码可以成功执行并在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
答案 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"');
会成功。