Łączę się do bazy Oracle używając:
$conn = oci_pconnect(...);
Od razu po połączeniu ustawiam:
$_SESSION["ora"] = $conn;
Dalej chcę mieć możliwość usunięcia rekordu z bazy korzystając z AJAX-a w JQuery. Wywołuję funkcję:
która wygląda tak:
<script> function ajax_del_nam(nam_id) { $.ajax({ url: "jQ_ajax.php", type: "POST", data: {func: "del_nam", id: nam_id }, dataType: "text", success: function(data,status) { alert("Wpis usunięto."); }, error: function(xhr, status, errorThr) { alert("Jakiś błąd.\n\nxhr: "+xhr+"\nStatus: "+status+"\nerrorThr: "+errorThr); } }); } </script>
W jQ_ajax.php mam:
Niestety loguje mi się (funkcją log_me) wpis o treści:
<? function del_nam($id) { log_me('del_nam:: Brak łącznika do bazy! $_SESSION["ora"]'); } foreach ($_SESSION as $k => $v) { log_me('$_SESSION["'.$k.'"] = '.$v); } $s = oci_parse($_SESSION['ora'], "BEGIN :out := pck.del(:id, :uid); END;"); if (!$s) { $e = oci_error($_SESSION['ora']); log_me("Błąd parsowania (pck.del): ".$e["message"]); log_me("Błąd parsowania (pck.del): ".$e["sqltext"]." at ".$e['offset']); return -1; } else { @oci_bind_by_name($s, ":id", $id); @oci_bind_by_name($s, ":uid", $_SESSION['uid']); @oci_bind_by_name($s, ":out", $out, 10); if (!@oci_execute($s)) { $m = oci_error($s); log_me('del_nam', $m['message']); } else { log_me("del_nam = ".$out); } } } //===================================== switch ($_POST['func']) { case 'del_nam': del_nam($_POST['id']); break; }; ?>
Cytat
$_SESSION["ora"] = 0
Nie wiem, czemu połączenie do bazy znikło.Proszę o wskazówki...
Z góry dziękuję.