17. oktober 2005 - 13:26Der er
4 kommentarer og 1 løsning
Udtræk fra access database
Hejsa :)
Jeg har et problem med et udtræk fra en access database i php. Min kode er som følger:
$db = 'C:\\Program Files\\apache groups\\Apache\\htdocs\\lyngsoe\\AuditdB.mdb'; $conn = new COM('ADODB.Connection'); $conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
if(isset($_POST['submit'])) { if ($_POST['person'] !== "") { $strSQL = "SELECT T_AudititemDefects.*, T_AuditPlan.PlanNo, T_AuditItem.AuditItemVisitID, T_AuditItem.AuditVisitID, T_AuditCategory.CategoryName, T_DepartmentList.DepartmentID, T_DocItems.Title, T_DepartmentList.DepartmentName, T_DepartmentList.DptManager, T_DocItems.Reference, T_AuditVisit.AuditDate, T_AuditVisit.Auditor FROM T_DepartmentList RIGHT JOIN ((T_AuditPlan RIGHT JOIN (T_AuditCategory RIGHT JOIN T_AuditVisit ON T_AuditCategory.ID = T_AuditVisit.AuditCategoryID) ON T_AuditPlan.PlanID = T_AuditVisit.PlanID) RIGHT JOIN ((T_AuditItem LEFT JOIN T_DocItems ON T_AuditItem.AuditItemListID = T_DocItems.DocItemID) RIGHT JOIN T_AudititemDefects ON T_AuditItem.AuditItemVisitID = T_AudititemDefects.AuditItemVisitID) ON T_AuditVisit.AuditVisitID = T_AuditItem.AuditVisitID) ON T_DepartmentList.DepartmentID = T_AuditVisit.DepartmentID WHERE T_AudititemDefects.Deltager like '%" & $_POST['person'] & "%' order by " & sortering & ""; } }
$rs = $conn->Execute($strSQL);
echo $rs->Fields['T_AudititemDefects']->Value;
Jeg får så en fejl i linen med $rs = $conn->Execute($strSQL); som hedder:
Warning: (null)(): Invoke() failed: Exception occurred. Source: Microsoft JET Database Engine Description: Command text was not set for the command object. in c:\program files\apache groups\apache\htdocs\lyngsoe\soeg.php on line 41
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Prøv at rette dine &-tegn (ASP-kode) til .-tegn (siden det nu er PHP-kode):
$strSQL = "SELECT T_AudititemDefects.*, T_AuditPlan.PlanNo, T_AuditItem.AuditItemVisitID, T_AuditItem.AuditVisitID, T_AuditCategory.CategoryName, T_DepartmentList.DepartmentID, T_DocItems.Title, T_DepartmentList.DepartmentName, T_DepartmentList.DptManager, T_DocItems.Reference, T_AuditVisit.AuditDate, T_AuditVisit.Auditor FROM T_DepartmentList RIGHT JOIN ((T_AuditPlan RIGHT JOIN (T_AuditCategory RIGHT JOIN T_AuditVisit ON T_AuditCategory.ID = T_AuditVisit.AuditCategoryID) ON T_AuditPlan.PlanID = T_AuditVisit.PlanID) RIGHT JOIN ((T_AuditItem LEFT JOIN T_DocItems ON T_AuditItem.AuditItemListID = T_DocItems.DocItemID) RIGHT JOIN T_AudititemDefects ON T_AuditItem.AuditItemVisitID = T_AudititemDefects.AuditItemVisitID) ON T_AuditVisit.AuditVisitID = T_AuditItem.AuditVisitID) ON T_DepartmentList.DepartmentID = T_AuditVisit.DepartmentID WHERE T_AudititemDefects.Deltager like '%" . $_POST['person'] . "%' ORDER BY " . sortering;
Warning: (null)(): Invoke() failed: Exception occurred. Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2. in c:\program files\apache groups\apache\htdocs\lyngsoe\soeg.php on line 54
Jeg ved ikke om det er det der skal til, men prøv at indsætte nogle SELECTs i dine indre querys:
$strSQL = " SELECT T_AudititemDefects.*, T_AuditPlan.PlanNo, T_AuditItem.AuditItemVisitID, T_AuditItem.AuditVisitID, T_AuditCategory.CategoryName, T_DepartmentList.DepartmentID, T_DocItems.Title, T_DepartmentList.DepartmentName, T_DepartmentList.DptManager, T_DocItems.Reference, T_AuditVisit.AuditDate, T_AuditVisit.Auditor FROM T_DepartmentList RIGHT JOIN ( SELECT * FROM ( SELECT * FROM T_AuditPlan RIGHT JOIN ( SELECT * FROM T_AuditCategory RIGHT JOIN T_AuditVisit ON T_AuditCategory.ID = T_AuditVisit.AuditCategoryID ) ON T_AuditPlan.PlanID = T_AuditVisit.PlanID ) RIGHT JOIN ( ( SELECT * FROM T_AuditItem LEFT JOIN T_DocItems ON T_AuditItem.AuditItemListID = T_DocItems.DocItemID ) RIGHT JOIN T_AudititemDefects ON T_AuditItem.AuditItemVisitID = T_AudititemDefects.AuditItemVisitID ) ON T_AuditVisit.AuditVisitID = T_AuditItem.AuditVisitID ) ON T_DepartmentList.DepartmentID = T_AuditVisit.DepartmentID WHERE T_AudititemDefects.Deltager LIKE '%" . $_POST['person'] . "%' ORDER BY " . sortering;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.