Php mysql查询语法错误

Php mysql查询语法错误,php,mysql,Php,Mysql,此语法有什么问题,请: $stmt = $db->query('SELECT id, par, what, title, inde FROM tmatria ORDER BY inde ASC where par = ' . $_SESSION["par"] . ';'); 错误: SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误

此语法有什么问题,请:

$stmt = $db->query('SELECT id, par, what, title,  inde 
                    FROM tmatria 
                    ORDER BY inde ASC 
                    where par = ' . $_SESSION["par"] . ';');
错误:

SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;检查对应于您的MiRADB服务器版本的手册,以便使用正确的语法,在“1行”/P>附近使用“Par=0”。 错误的位置

'SELECT id, par, what, title,  inde 
 FROM tmatria 
 where par = '. $_SESSION["par"] . ' ORDER BY inde ASC ;'

ORDER子句应位于WHERE子句之后

$stmt = $db->query("SELECT id, par, what, title,  inde FROM tmatria where par = '$_SESSION[par]' ORDER BY inde ASC");

ORDER BY应该在WHERE子句?RTM之后,并且
WHERE
是一个保留字。这解释了第一个语法错误
near'WHERE
请阅读SQL教程。子句的顺序不灵活,任何教程都应该显示正确的语法。您是否检查过
$\u SESSION[“par”]
不包含
1=1';从用户中删除;承诺--?警告:使用手动转义极易出错,一个错误就可能导致严重后果。尽可能使用事先准备好的陈述。在任何用户提供的数据都指定有
:name
指示符的情况下,这些都非常简单,以后使用
bind_param
execute
来填充指示符,具体取决于您使用的是哪一个。为什么没有动机地进行下一票?