Domanda

Sto usando UnixODBC con PHP 5.2.4 su Ubuntu 8.04 LTS e sto cercando di estrarre tutti i risultati da una tabella seduta su un IBM i e replicarli su una tabella MySQL locale.

Dal punto di vista del codice sta funzionando senza errori ma sto finendo con più righe di ciò che è contenuto su IBM i.

Dovrei finire con 25.613 righe ma PHP riporta che 25.630 righe sono state inserite nel database MySQL:

$counter = 0;
while($row = odbc_fetch_array($result)) {
    //Insert into MySQL using Zend Framework
    $counter++;
}
echo $counter;

Quando guardo nel database MySQL alcune righe sono effettivamente duplicate. Ho visto una nota sul odbc_fetch_array () documentazione sul comportamento irregolare quando si accede a IBM i, ma provare quella soluzione provoca l'esecuzione e l'esecuzione dello script senza sembrare mai terminato.

Qualche idea su cosa controllare?

È stato utile?

Soluzione

È sempre la stessa duplicazione delle stesse righe? In tal caso, c'è qualcosa di unico in questi record che potrebbe suggerire perché sono duplicati?

Forse usa un'altra associazione per ottenere risultati, come odbc_fetch_row () . Cosa dice odbc_num_rows () ?

Queste e altre tecniche potrebbero aiutarti a individuare il bug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top