Hallöchen,
seit gestern stehe ich von einem Rätsel.
Folgende Situation: Ich habe eine dBase-Datenbank Datei der Marke Visual Foxpro.
Das Verbinden/Abfragen funktioniert alles sowei ganz super.
Es kommt es aber zu einem merkwürdigen Phänomen:
Wenn ich einen bestimmten Datensatz per
Code:
select * from table where id = ?
abfrage, so funktioniert das bei vielen Id's nicht (ca. 500 von 1500)
Es ist kein Muster zu erkennen oder so.
Derzeit nutze ich folgendes (bescheidene) Workaround:
PHP-Code:
$sql = "SELECT * FROM products WHERE CODE = " . $this->code;
if($result = $db->Execute($sql)) {
if(!$result->EOF) {
foreach($fields as $field) {
if($item = $result->Fields("$field")) {
$data[$field] = utf8_encode($item->value);
}
}
} else {
$sql = "SELECT * FROM products";
if($result = $db->Execute($sql)) {
while(!$result->EOF) {
if($result->Fields('CODE')->value == $this->code) {
foreach($fields as $field) {
if($item = $result->Fields("$field")) {
$data[$field] = utf8_encode($item->value);
}
}
break;
}
$result->MoveNext();
}
if($this->data == null) {
throw new ProductNotFoundException();
}
}
}
}
Anmerkung: $fields ist ein Array mit ein paar Feldernamen
Das kann und soll keine Dauerhafte Lösung seien.
Kenn sich jemand mit dem Thema aus?
Viele Grüße ~