Ik heb een probleem met het uitlezen van één bepaalde waarde uit een database. Ik kom er alleen niet uit waarom juist dit veld niet uit te lezen is en een error veroorzaakt. Ik zal het probleem hieronder uitleggen:
Eerst maak ik verbinding met een .mdb database:
Ik voer vervolgens een SQL query uit op de bestaande verbinding:
Vervolgens probeer ik wat waardes uit te lezen:
Het vreemde is nu dat alles werkt totdat ik de laatste regel (over $tempProductName) aan het script toevoeg. Op dat moment geeft het script de volgende error:
Eerst maak ik verbinding met een .mdb database:
PHP:
1
2
3
4
| $conn = new COM ("ADODB.Connection") or die("Cannot start ADO"); $connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source= E:\echtenaamweggehaald.nl\wwwroot\werkdir\bestand.mdb"; $conn->open($connStr); |
Ik voer vervolgens een SQL query uit op de bestaande verbinding:
PHP:
1
2
| $query = "SELECT tb_Product.Id, tb_Product.regionID, tb_Product.prd_name, tb_Product.prd_gps_lat, tb_Product.prd_order, tb_Region.Id, tb_Region.CountryId, tb_Region.Name, tb_Country.Id, tb_Country.Name FROM tb_Product, tb_Region, tb_Country WHERE tb_Product.regionID = ". $regionID ." AND tb_Product.regionID = tb_Region.Id AND tb_Region.CountryId = tb_Country.Id ORDER BY tb_Product.prd_order ASC, tb_Product.prd_name"; $rs = $conn->execute($query); |
Vervolgens probeer ik wat waardes uit te lezen:
PHP:
1
2
3
4
| $tempCountry = $rs->Fields('tb_Country.Name')->Value; $tempRegion = $rs->Fields('tb_Region.Name')->Value; $tempProductID = $rs->Fields('tb_Product.Id')->Value; $tempProductName = $rs->Fields('tb_Product.prd_name')->Value; |
Het vreemde is nu dat alles werkt totdat ik de laatste regel (over $tempProductName) aan het script toevoeg. Op dat moment geeft het script de volgende error:
Natuurlijk weet ik dat deze foutmelding 99 uit 100 keer komt door een spelfout in de kolomnaam van de waarde die je probeert uit te lezen, maar ik kan jullie garanderen dat deze 100% goed is (tabelnaam: tb_Product, kolomnaam: prd_name). Vandaar ook mijn wanhoop en vraag aan jullie op dit forum! Ik hoop dat jullie mij kunnen helpen, ik kom hierdoor maar niet verder in mijn project. Bij voorbaat dank!PHP Fatal error: Uncaught exception 'com_exception' with message 'Source: ADODB.Recordset
Description: Item cannot be found in the collection corresponding to the requested name or ordinal.' in E:\echtenaamweggehaald.nl\wwwroot\werkdir\bestand.php:111 Stack trace: #0 E:\echtenaamweggehaald.nl\wwwroot\werkdir\bestand.php(111): variant->Fields('tb_Product.prd_na...') #1 {main} thrown in E:\echtenaamweggehaald.nl\wwwroot\werkdir\bestand.php on line 111
[ Voor 4% gewijzigd door Verwijderd op 06-10-2010 15:53 . Reden: Korte inleiding toegevoegd ]