我的SQL查询有什么问题?

时间:2014-01-04 13:27:59

标签: php mysql sql

我有一个连接两个表的查询,它不断收到错误。

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“0”附近使用正确的语法。

我似乎无法弄清楚这里有什么问题?

我已经检查了this,但就我而言,情况有所不同。

这是我的问题:

$sQuery = "SELECT SQL_CALC_FOUND_ROWS A.id, A.studentNum, B.lastName, B.firstName, B.middleName, B.year, B.courseBlock, B.status, A.facultyloading_id"+
          " FROM table_enrolledstudents AS A"+
          " INNER JOIN table_student AS B"+
          " ON A.studentNum = B.studentNum";  

你认为有什么不对?你能帮助我吗?谢谢!

2 个答案:

答案 0 :(得分:3)

使用PHP字符串连接运算符.(点)。

或者为了提高可读性/可维护性,您还可以将查询放入包含换行符的单个字符串中。

$sql = "SELECT SQL_CALC_FOUND_ROWS A.id, A.studentNum, B.lastName, B.firstName, B.middleName, B.year, B.courseBlock, B.status, A.facultyloading_id
        FROM table_enrolledstudents AS A
        INNER JOIN table_student AS B
        ON A.studentNum = B.studentNum";

<强>说明: 这是因为PHP类型系统允许对字符串(可以包含数字)进行算术运算,例如"1" + "2"将返回总和,即3。如果算术运算中使用的字符串不包含可解析的数字,则将其视为零,因此"abc" + 5的结果为5

答案 1 :(得分:0)

正如Aleksander Bavdaz先生所说,我已经取代了加号并使其成为一个点,错误消失了。这是我的新查询。谢谢你的帮助!

$sQuery = "SELECT SQL_CALC_FOUND_ROWS A.id, A.studentNum, B.lastName, B.firstName, B.middleName, B.year, B.courseBlock, B.status, A.facultyloading_id".
                " FROM table_enrolledstudents AS A".
                " INNER JOIN table_student AS B".
                    " ON A.studentNum = B.studentNum"