FW: PHP3 & OCI8 Example

From: Date: Fri, 19 May 2000 08:47:12 +0000
Subject: FW: PHP3 & OCI8 Example
Groups: php.db 
Request: Send a blank email to php-db+get-47@lists.php.net to get a copy of this message
This shows how to run stored ORACLE PL/SQL procedures form PHP. Hope this helpes. The procedure performs username/passoword verification against an Oracle DB (it´s stored in a package named "auth"): ____________________________________________________________________________ ______ END_PROCEDURE EXCEPTION; PROCEDURE dologin ( inUsername IN users.username%TYPE, inPassword IN users.password%TYPE, returStatus OUT NUMBER ) IS CURSOR cur_Password(username IN users.username%TYPE, password IN users.password%TYPE) IS SELECT userid FROM users WHERE username = LOWER(username) AND password = password; rec_Password cur_Password%ROWTYPE; BEGIN OPEN cur_Password(inUsername, inPassword); FETCH cur_Passoword INTO rec_Password; IF cur_Password%NOTFOUND THEN CLOSE cur_Password; returnStatus := -1; RASIE END_PROCEDURE; END IF; returnStatus := 1; CLOSE cur_Password; EXCEPTION WHEN END_PROCEDURE THEN NULL; END dologin; ____________________________________________________________________________ ______ Then we have the PHP function that calls the procedure: function login($username, $password, $db_connection) { $query = OCIParse($db_connection, "BEGIN auth.login(:username, :password, :return_status); END;"); OCIBindByName($query, ':username', &$username, strlen($username)); OCIBindByName($query, ':password', &$password, strlen($password)); OCIBindByName($query, ':return_status', &$return_status, 10); OCIExecute($query); if($return_status==1) { return true; } else { return false; } } Hope this helpes --Marten

« previous php.db (#47) next »