ich steige gerade in PHP ein und versuche Daten aus einer Oracle-DB
zugägnlich zu machen. Dazu habe ich XAMPP installiert, die OIC8
Erweiterung in der php.ini "ein"kommentiert und - nach einer Recherche
im Netz - die oci.dll der apache-Installtation mit einer aktuellen
Version ersetzt, weil ansonsten schon bei dem Versuch ein oci_connect
auszuführen einer Fehlermeldung kam.
Das Beispiel-Skript von PHP.net liefert mir zwar die korrekten
Ergebnisse, allerdings werden alls Spalten doppelt angezeigt.
Ist Euch so etwas schon untergekommen ?
Martin
_____________________________________________________________________
<?php
$conn = oci_connect('user', 'pw', 'oracledb');
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT obj_id, obj_desc, cl_desc FROM OBJECT WHERE CL_ID =
10112';
$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT);
if (!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach ($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
> Das Beispiel-Skript von PHP.net liefert mir zwar die korrekten
> Ergebnisse, allerdings werden alls Spalten doppelt angezeigt.
> while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
http://de.php.net/oci-fetch-array
Schau mal nach dem "mode"
Grüße, Matthias
Martin Fischer wrote:
> while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
oci_fetch_array ohne zusätzlichen mode Parameter liefert
ein array mit assoziativen und numerischen Indizes - also
im Prinzip alles doppelt:
array ()
[0] => "ein Wert"
['obj_id'] => "ein Wert"
.
.
.
lg. jakob
PS: Ich würde mir überlegen eine Abstraktionklasse wie Pear:MDB2
zu verwenden - Das Fehlerhandling ist einfacher.
--
jakob kollmann www.filofant.org
Minds are like parachutes: they only function when they're open.
(Tommy Dewar, 1864 - 1930)
Hallo Matthias, da habe ich Euch wohl zu früh malträtiert :) Aber ich
hatte nicht damit gerechnet, dass es solche Möglichkeiten gibt und die
dll-Probs bei der Installation haben mich verunsichert.
Vielen Dank für Deine schnelle Hilfe!
Martin
jakob kollmann schrieb:
> Hallo!
>
> Martin Fischer wrote:
>> while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
>
> oci_fetch_array ohne zusätzlichen mode Parameter liefert
> ein array mit assoziativen und numerischen Indizes - also
> im Prinzip alles doppelt:
>
> array ()
> [0] => "ein Wert"
> ['obj_id'] => "ein Wert"
Das werde ich mal genauer ausprobieren - Danke Dir!
> ..
> ..
> ..
>
> lg. jakob
>
> PS: Ich würde mir überlegen eine Abstraktionklasse wie Pear:MDB2
> zu verwenden - Das Fehlerhandling ist einfacher.
>
Da muss ich erst mal nach googeln :-) Bin noch gaaaanz frisch in diesem
Themenkomplex und "spiele" noch ein wenig herum.
lgz Marti n