php - SQL 语法错误,检查第 1 行 '0' 附近使用的正确语法

标签 php mysql

我遇到了标题中提到的错误,这是我的 PHP 文件中的代码,我试图修改我的查询,但未能更正错误,谁能告诉我为什么会出现这种错误,是还有我形成错误的方式不正确?我看过一些类似的帖子,但我从这些帖子中了解到问题应该是我的查询,但我不知道如何更改它。所以请问你的帮助,告诉我我查询的问题在哪里,这绝对可以帮助我理清我的概念。

$query = "SELECT * 
    FROM Tech AS T, Client AS C, Site AS S, Log AS L 
    WHERE T.TechID=L.TechID, C.ClientID=L.ClientID, S.SiteID=L.SiteID";
if($sort=="Tech")
   $query += "ORDER BY T.TechName ASC, L.Time DSC";
else if($sort=="Client")
   $query += "ORDER BY C.ClientName ASC, L.Time DSC";
$result = mysql_query($query) or die('Error! ' . mysql_error());; 
print "Real-Time check in/check out<br>";
print "<table><th><td>Tech</td><td>Client</td><td>Site</td>";
print "<td>Date and Time</td><td>Type</td></th>";
while($row = mysql_fetch_array($result)){
print "<tr><td>".$row['T.TechName']."</td>";
print "<td>".$row['C.ClientName']."</td>";
print "<td>".$row['S.SiteName']."</td>";
print "<td>".$row['L.Time']."</td>";
print "<td>".$row['L.Type']."</td></tr>";
}
print "</table>";

错误信息如下:

Error! You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1

最佳答案

看不出零可能来自哪里..

但是在您将 ORDER BY 附加到查询的行中,您缺少一个空格。

要么在原始 $query 的末尾附加一个空格,要么在 $query += 的开头附加一个空格

同样对于下降,它应该是 DESC 而不是 DSC

对于 PHP,+= 也应该是 .=

关于php - SQL 语法错误,检查第 1 行 '0' 附近使用的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467889/

相关文章:

php - 如果满足条件,则在 php 时调用 Bootstrap 模式

php - Javascript 和 PHP 加密/解密

mysql - Node : Heroku ClearDB not closing connections

mysql - 根据发送mysql通知的次数查找用户

php - 准备好的语句失败。没有得到字符串

php - 如何使用 ajax 调用打开 PDF

php - 使用 cURL 的 Bug 订阅 instagram API

php - 'git pull' 命令可以从终端运行,但不能通过 git 存储库 Hook 使用 php shell_exec()

mysql - 喜欢但按 ID 排除一篇帖子?

mysql - 保存结果以在 sql 查询中再次使用它