Can anyone guide me on using oci_bind_by_name. I have written this piece of code:
$connection = initDB();
$validation_query = "SELECT * from admin where admin_id= :uid and password= :pwd";
$s = oci_parse($connection, $validation_query);
oci_bind_by_name($s, ':uid', $id);
oci_bind_by_name($s, ':pwd', $pass);
$res=oci_execute($s, OCI_DEFAULT);
$result_row = oci_fetch_array($s, OCI_ASSOC);
But with slight modification to Code and generating the query on the fly, it starts working.
$connection = initDB();
$validation_query = "SELECT * from admin where admin_id= '".$id."' and password= '".$pass."'";
$s = oci_parse($connection, $validation_query);
//oci_bind_by_name($s, ':uid', $id);
//oci_bind_by_name($s, ':pwd', $pass);
$res=oci_execute($s, OCI_DEFAULT);
$result_row = oci_fetch_array($s, OCI_BOTH);
I have no idea on this and have already searched forums and internet. Kindly help me out.
GOT IT !
Sorry to bother you guys… I made a silly mistake.
The line of code:
$result_row = oci_fetch_array($s, OCI_BOTH)was being executed in both the codes. But in Second scenario$result_row[0]returned values where as$result_row[0]fails in 1st scenario.This is again because I was using different MODES of fetching data. OCI_ASSOC in first case and OCI_BOTH in second case.
So finally when I wrote
$result_row['ID'], I got the desired results.Cheers !