Mailinglisten-Archive |
Hallo,
Beim testen von Datenbankzugriffen mit Oracle bin ich bis
jetzt wie gefolgt vorgegangen:
$conn = OCILogon( $user, $pasword, $db);
$sql = "select foo,bar from foobar";
$stm = OCIParse( $conn, $sql);
OCIDefineByName( $stm, "FOO", &$var_foo);
OCIDefineByName( $stm, "BAR", &$var_bar);
OCIExecute( $stm);
if( empty( OCIError( $stm))) {
OCIFetch( $stm);
OCIFreeStatement( $stm);
}
Unter MySQL schauts (zumindest fuer mich) einfacher aus:
mysql_connect( ...
mysql_query( ..
$row = mysql_fetch_row( ..., MYSQL_ASSOC);
echo $row['foo'];
... und alles war in einem Hash drinnen
Gibt es so eine Moeglichkeit fuer Oracle auch ?
Es ist etwas muehsam immer vorher definieren zu muessen welchen
Wert man in welche Variable eingelesen werden soll.
Weite Unteschiede, die mir im Umstieg von MySQL auf Oracle
aufgefallen sind :
*) mysql_num_rows
Gibt bei z.B. 'select'-Statements die Anzahl
der Zeilen wieder. Es gibt zwar Ora_numrows, doch diese
gibt nur die Position des Cursor zurueck, nicht aber
wieviele Ergebnisse insgesammt zurueckkamen.
Bis jetzt hab ich mir damit geholfen vorher ein 'select
count( .. '-Statement abzusetzen. Geht das anders auch ?
*) LIMIT
Soweit ich mitbekommen hab ist das eine MySQL eigenshaft,
die Anzahl der Ergebnisse des 'select'-Statements zu
limitieren mittels LIMIT.
Gibt es da aehnliche moeglichkeiten fuer Oracle ?
danken fuer jeden Hinweis,
Markus
--
Markus Fischer, http://josefine.ben.tuwien.ac.at/~mfischer/
EMail: mfischer_(at)_josefine.ben.tuwien.ac.at
PGP Public Key: http://josefine.ben.tuwien.ac.at/~mfischer/C2272BD0.asc
PGP Fingerprint: D3B0 DD4F E12B F911 3CE1 C2B5 D674 B445 C227 2BD0
php::bar PHP Wiki - Listenarchive