oci_parse hata mesajı

2 Cevap php

Ben bu hata mesajı alıyorum, bunu nasıl düzeltebilirim ne anlama gelmekte?

Warning: oci_parse() expects parameter 1 to be resource, null given in /user_auth_fns.php on line 3


$conn = db_connect();
$result = oci_parse($conn, "select * from user where username='$username' and passwd = sha1('$password')"); if (!$result){ $err = oci_error(); echo "Could not log you in."; exit; } $r = oci_execute($result); if (!$r) { $error = oci_error($conn); echo "Could not log you in." . $error['message']; exit; } function db_connect() { $db = "dbms"; if ($c=oci_connect("username", "password", $db)){ echo "Successfully connected to Oracle.\n"; OCILogoff($c); } else { $err = OCIError(); echo "Oracle Connect Error " . $err[text]; } }

Edit 2 fixed the problem, another error message, what other compression function(other than SHA1) should use for oracle?
Warning: oci_execute() [function.oci-execute]: ORA-00904: "SHA1": invalid identifier in /user_auth_fns.php on line 10

2 Cevap

Sizin $conn değişken sıfırdır. Bunu nasıl örneğini mi?

Edit

Sen bu yüzden boş dönen diğer daha onunla neyin yanlış olduğunu söyleyemem standart PHP kütüphanesinin bir parçası olmadığı, $conn db_connect() den örneğini.

Edit 2

Sen db_connect() hiçbir şey dönmez ediyoruz. Ayrıca, hemen açtıktan sonra bağlantıyı kapatın. Bu deneyin:

function db_connect()
{
  $db = "dbms";

  if ($c=oci_connect("username", "password", $db)){
    echo "Successfully connected to Oracle.\n";
    //OCILogoff($c); // You probably don't want to close the connection here
    return $c;
  } else {
    $err = OCIError();
    echo "Oracle Connect Error " . $err[text];
  }
}

Bu null, $ conn hiçbir değeri yoktur anlamına gelir. Eğer $ Bağlan olmasını istediğiniz neydi? Geri dönün ve kontrol edin.