PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   [PHP/ADODB] Select problem (http://www.selfphp.de/forum/showthread.php?t=25007)

The Serious Sam 12.07.2013 12:19:44

[PHP/ADODB] Select problem
 
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 ~

The Serious Sam 18.07.2013 23:50:53

AW: [PHP/ADODB] Select problem [gelöst]
 
Ein Umstieg von OLE DB auf PDO + ODBC löste das Problem.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:33:26 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.