oci_bind_by_name не работает в PHP - PullRequest
1 голос
/ 07 февраля 2011

Может кто-нибудь подсказать мне, как использовать oci_bind_by_name.Я написал этот фрагмент кода:

$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);

Но с небольшой модификацией кода и генерацией запроса на лету он начинает работать.

$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);

Понятия не имею и уже искал форумы и интернет.Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 07 февраля 2011

ПОЛУЧИЛ ЭТО!Извините, что беспокою вас, ребята ... Я сделал глупую ошибку.

Строка кода: $result_row = oci_fetch_array($s, OCI_BOTH) выполнялась в обоих кодах.Но во втором сценарии $result_row[0] возвращаются значения, где $result_row[0] не выполняется в 1-м сценарии.

Это снова, потому что я использовал разные РЕЖИМЫ выборки данных.OCI_ASSOC в первом случае и OCI_BOTH во втором.

Итак, наконец, когда я написал $result_row['ID'], я получил желаемые результаты.

Cheers!

...