这是我们需要运行的查询:
$dbname = 'demo';
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
$result = $db->query('SELECT Table1.id,Table2.name,Table2.email,Table3.desc,Table1.ORDNUM,Table4.cust,Table4.Startdate,Table4.CNCLDATE,Table4.ship,Table1.qty,Table5.t5_NAME,Table5.t5_EMAIL,Table6.t6_NAME FROM (((((Table1 INNER JOIN Table4 on Table1.ORDNUM = Table4.ORDNUM)INNER JOIN Table2 on icust.CODE = Table4.CODE)inner join Table3 on Table4.TRMCODE = Table3.TRMCODE)inner join Table5 on Table5.t5_CODE = Table4.code)inner join Table6 on Table6.ID = Table4.div)' GROUP BY Table1.id);
表1中有许多可用的记录。id,所以我需要按table1。id分组。但这是不可能的。这是我得到的错误信息:
致命错误:在D:'xampp'htdocs'Project'Page.php on line ***
中调用非对象的成员函数fetch()
如何解决这个问题?
在GROUP BY子句之前有一个单引号,这可能导致错误。试着把它移到最后一个结束括号之前。
$dbname = 'demo';
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
$result = $db->query('SELECT Table1.id,Table2.name,Table2.email,Table3.desc,Table1.ORDNUM,Table4.cust,Table4.Startdate,Table4.CNCLDATE,Table4.ship,Table1.qty,Table5.t5_NAME,Table5.t5_EMAIL,Table6.t6_NAME FROM (((((Table1 INNER JOIN Table4 on Table1.ORDNUM = Table4.ORDNUM)INNER JOIN Table2 on icust.CODE = Table4.CODE)inner join Table3 on Table4.TRMCODE = Table3.TRMCODE)inner join Table5 on Table5.t5_CODE = Table4.code)inner join Table6 on Table6.ID = Table4.div) GROUP BY Table1.id');