Vielen Dank noch mal für eure Hilfe!!!
Habe das Select problem jetzt so gelöst:
function select_all2($conn,$tab)
{
$stmt = ociparse($conn,"select * from $tab");
ociexecute($stmt);
$nrows = OCIFetchStatement($stmt, $result);
reset($result);
print "<TABLE BORDER=\"1\">\n";
print "<TR>\n";
while ( list( $key, $val ) = each( $result ) )
{
print "<TH>$key</TH>\n";
}
print "</TR>\n";
for ( $i = 0; $i < $nrows; $i++ )
{
reset($result);
print "<TR>\n";
while ( $column = each($result) )
{
$data = $column['value'];
print "<TD>$data[$i]</TD>\n";
}
print "</TR>\n";
}
print "</TABLE>\n";
echo $nrows; echo " Zeilen ausgewählt";
}
PHP + Oracle 8i
Einklappen
X
-
Dein Select funktioniert wohl nicht, da du zwar dein query parst mit OCIParse in $stmt --> dann kommt ein OCIExecute, aber dieses Kommando übergibts du ja nirgends. Wenn du dann per OCIFetch auf $stmt zugreifst, hast du da ja nicht den OCIExecute "drin":
function select_data($conn)
{
$stmt = ociparse($conn,"select * from czahn.hallo");
$stmt2 = ociexecute($stmt);
echo $conn."----selecting\n\n";
while (ocifetch($stmt2))
echo $conn." <".ociresult($stmt2,"TEST").">\n\n";
echo $conn."----done\n\n";
}
habs nicht ausprobiert, aber ich denke, die Richtung stimmt...
Einen Kommentar schreiben:
-
laß doch mal das OCI_DEFAULT sowohl beim insert als auch beim select weg. Dadurch wird das Kommando doch gar nicht endgültig. Falls es das nicht ist, kannst du mal schauen, ob die $conn auch bis in die Funktion richtig übergeben wird. Vielleicht fehlt ja auch die Connection. Ja, äh, mehr fällt mir dazu auch gerade nicht ein. Ach, falls du autoincrement benutzt, brauchst du für das insert auch eine Sequenze.
So, viel Glück
Einen Kommentar schreiben:
-
Fehlermeldungen werden keine Ausgegeben!!
Das ist ja das seltsame!!!
beim Select befehl wird folgendes ausgegeben:
Resource id #5----selecting Resource id #5 Resource id #5 Resource id #5----done
doch werden keine Werte ausgegeben!!
Beim insert Befehl wird gar nix ausgegeben!!
und in der Datenbank auch nix eingetragen!!!
mfg KRIZ
Einen Kommentar schreiben:
-
PHP + Oracle 8i
HI!
Oracle 8i DB
Apache 1.3.1.9 WebServer
PHP 4.0
Ich habe folgendes Problem:
Ich kann über einen PHP Skript eine Tabelle anlegen und löschen, kann jedoch keine Insert, SELECT und DELETE Befehle absetzen!!!
Mein Skript sieht foldgendermaßen aus:
$c1 = ocilogon("system","manager",$db);
//funktioniert!!!
function create_table($conn,$Tab)
{ $stmt = ociparse($conn,"create table czahn.$Tab (test
varchar2(64))");
ociexecute($stmt);
echo $conn." created table $Tab." ;
}
//funktioniert NICHT!!!
function insert_data($conn,$Tab,$value)
{ $stmt = ociparse($conn,"insert into czahn.$Tab values($value)");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." inserted hallo\n\n";
}
//funktioniert NICHT!!!
function select_data($conn)
{ $stmt = ociparse($conn,"select * from czahn.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn."----selecting\n\n";
while (ocifetch($stmt))
echo $conn." <".ociresult($stmt,"TEST").">\n\n";
echo $conn."----done\n\n";
}
select_data($c1)
Hoffentlich kann mir jemand helfen !!
Danke
MFG KRIZStichworte: -
Einen Kommentar schreiben: