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
来填充指示符,具体取决于您使用的是哪一个。为什么没有动机地进行下一票?