php-windows Digest 20 Apr 2006 11:57:21 -0000 Issue 2942

Topics (messages 26856 through 26858):

How to retrieve a result from a function using the OCI interface to ORACLE
        26856 by: Leonardo Javier Belén

Re: Newbie, PHP Script not sending email in WinME and PWS
        26857 by: Ariz Jacinto

Oracle & Stored Procedure
        26858 by: Alf Stockton

Administrivia:

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        [email protected]


----------------------------------------------------------------------
--- Begin Message ---
Dear Friends,
    I am quite lost here. I am implementing quite a lot of functions and
packages in ORACLE to actualize data, but I dont see possible yet to call
successfully the function. Given the following code:

"Declare
    res NUMBER
Begin
   res := foo('bar');
end;"

I cannot get the value of res.

What I am doing in php is:

a) parsing the code
b) oci_bind_by_name($stmt, ":res", $res);
c) oci_execute($stmt);

and the only thing that I can get is apache to hang up. Does anyone knows
how to fix it? because I've been searchin' the documentation and I couldnt
find the fix so far.
Thx in advance

Leonardo Belen. AFIP-AR

PS: My system is a Windows 2000 Machine with apache 2*, and oracle 9.2

--- End Message ---
--- Begin Message ---
one way to troubleshoot your problem is to run the simplest
mail script (w/o From, etc. headers) and invoke it by
commandline or over the web.

if you still can't send emails,  try replacing the SMTP domain
name with an IP address. if the problem still persist, check
your connection to the SMTP server by executing the following
commands:

   c:\> telnet smtp.prodigy.net.mx 25


you should see an output like this:

   Connected to smtp.prodigy.net.mx
   Escape character is '^]'.


for your reference:
http://www.yuki-onna.co.uk/email/smtp.html




On 4/18/06, verci <[EMAIL PROTECTED]> wrote:
>
> mail($mailto, $subject, $messageproper,
> "From: \"$name\" <$email>" . $headersep . "Reply-To: \"$name\" <$email>" .
> $headersep . "X-Mailer: chfeedback.php 2.07" ); .



[mail function]
> ; For Win32 only.
> SMTP= smtp.prodigy.net.mx
> smtp_port=25
>
> ; For Win32 only.
> [EMAIL PROTECTED]
>

--- End Message ---
--- Begin Message ---
With the attached php program I keep getting:-
 Warning: ociexecute() [function.ociexecute]: OCIStmtExecute: ORA-06550:
line 1, column 7: PLS-00306: wrong number or types of arguments in call
to 'SPMEMBERDETAILS' ORA-06550: line 1, column 7: PL/SQL: Statement
ignored in C:\Program Files\Apache
Group\Apache2\htdocs\KioskCurrent\TI\GetMember.php on line 37

and in case it might help I have also attached the source from which the
stored procedure was created.
Please tell me what I have done wrong?

-- 
Regards,
Alf Stockton            www.stockton.co.za

He draweth out the thread of his verbosity finer than the staple of his
argument.
                -- William Shakespeare, "Love's Labour's Lost"
My email disclaimer is available at www.stockton.co.za/disclaimer.html

Attachment: GetMember.php
Description: application/php

CREATE OR REPLACE PACKAGE "BIG"."SPPACKAGE" AS

  type memberdetail_type is record (
       r_mem_number members.mem_number%type,
       r_mem_sname  members.mem_sname%type,
       r_mem_fname  members.mem_fname%type,
       r_mem_title  members.mem_title%type);
  type memberdetail_cur_type is ref cursor return memberdetail_type;
  type tablesplayed_type is record (
       r_trans_code  transact.trans_code%type,
       r_trans_table_name transact.trans_table_name%type);
  type tablesplayed_cur_type is ref cursor return tablesplayed_type;

  PROCEDURE spMemberDetails(
   p_number cards.card_number%type, --varchar2
   cv_memberdetails out memberdetail_cur_type);

  PROCEDURE spTablesPlayed(
   p_number cards.card_number%type, --varchar2
   p_startdate  varchar2,
   p_enddate    varchar2,
   cv_tablesplayed out tablesplayed_cur_type);

  PROCEDURE spGetMemberNumber(
   p_number       cards.card_number%type,
   p_membernumber OUT members.mem_number%type);

  PROCEDURE spGetSlotsHandle (
   p_handle OUT transact.trans_turnover%type,
   p_number cards.card_number%type,
   p_startdate varchar2,
   p_enddate varchar2);

  PROCEDURE spGetTableHandle (
   p_handle OUT transact.trans_turnover%type,
   p_number cards.card_number%type,
   p_tablegameprefix varchar2,
   p_startdate varchar2,
   p_enddate varchar2);

END sppackage;
/
show err

CREATE OR REPLACE PACKAGE BODY "BIG"."SPPACKAGE" as
  PROCEDURE spMemberDetails(
   p_number cards.card_number%type, --varchar2
   cv_memberdetails out memberdetail_cur_type)
  AS
   v_membernumber members.mem_number%type; --varchar2(12)

  BEGIN

   spGetMemberNumber(p_number,v_membernumber);

   open cv_memberdetails for
    SELECT MEM_NUMBER, MEM_SNAME, MEM_FNAME, MEM_TITLE
      FROM MEMBERS
      WHERE MEM_NUMBER= v_membernumber;

  END spMemberDetails;


  PROCEDURE spTablesPlayed(
   p_number cards.card_number%type, --varchar2
   p_startdate  varchar2,
   p_enddate    varchar2,
   cv_tablesplayed out tablesplayed_cur_type)
  AS
   v_startdate varchar2(12);
   v_starttime varchar2(12);
   v_enddate   varchar2(12);
   v_endtime   varchar2(12);
   v_membernumber varchar2(12);

  BEGIN

   v_startdate := to_char(to_date(substr(p_startdate,0,8), 'DD-MM-RRRR'),'DD-MON
-RRRR');
   v_enddate   := to_char(to_date(substr(p_enddate,0,8),   'DD-MM-RRRR'),'DD-MON
-RRRR');

   spGetMemberNumber(p_number, v_membernumber);

   open cv_tablesplayed for
   SELECT TRANS_CODE, TRANS_TABLE_NAME
     FROM
     (
       select trans_code, trans_date, trans_time, trans_table_name
         from TRANSACT
         where TRANS_CODE = v_membernumber
         and (trans_date >= v_startdate
              and trans_date <= v_enddate)
     )
--     WHERE  TRANS_CODE = v_membernumber
     where nvl(TRANS_TABLE_NAME,'X') != 'X'
     and (
           ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
             to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
             >= to_date(p_startdate,'DD-MM-RRRR HH24MISS')
             AND
           ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
             to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
             <= to_date(p_enddate,'DD-MM-RRRR HH24MISS')
     );
   END spTablesPlayed;

  PROCEDURE spGetMemberNumber(
   p_number       cards.card_number%type,
   p_membernumber  OUT  members.mem_number%type)
  AS

  BEGIN

  SELECT CARD_MEMBER
    into p_membernumber
    FROM CARDS
      WHERE CARD_NUMBER = p_number
      AND trunc(CARD_DTO) >= trunc(sysdate);
   exception
    when no_data_found
    then
    SELECT MEM_NUMBER
      into p_membernumber
        FROM MEMBERS
        WHERE MEM_NUMBER = p_number;
  END spGetMemberNumber;

  PROCEDURE spGetSlotsHandle (
     p_handle OUT transact.trans_turnover%type,
     p_number cards.card_number%type,
     p_startdate varchar2,
     p_enddate varchar2)
  AS
     v_startdate varchar2(12);
     v_starttime varchar2(12);
     v_enddate varchar2(12);
     v_endtime varchar2(12);
     v_membernumber members.mem_number%type := null;

  BEGIN

   v_startdate := to_char(to_date(substr(p_startdate,0,8), 'DD-MM-RRRR'),'DD-MON
-RRRR');
   v_enddate   := to_char(to_date(substr(p_enddate,0,8),   'DD-MM-RRRR'),'DD-MON
-RRRR');

   spGetMemberNumber(p_number, v_membernumber);

  SELECT SUM(TRANS_TURNOVER)
     into p_handle
     FROM
     (
       select TRANS_CODE, TRANS_DATE, TRANS_TIME, TRANS_TURNOVER, TRANS_TABLE_NA
ME
         from TRANSACT
         WHERE  TRANS_CODE = v_membernumber
         and (trans_date >= v_startdate
              and trans_date <= v_enddate)
      )
--     WHERE  TRANS_CODE = v_membernumber
     where nvl(TRANS_TABLE_NAME,'X') = 'X'
     and (
        ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
          to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
          >= to_date(p_startdate,'DD-MM-RRRR HH24MISS')
          AND
        ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
          to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
          <= to_date(p_enddate,'DD-MM-RRRR HH24MISS')
       );
  END spGetSlotsHandle;

  PROCEDURE spGetTableHandle (
     p_handle OUT transact.trans_turnover%type,
     p_number cards.card_number%type,
     p_tablegameprefix varchar2,
     p_startdate varchar2,
     p_enddate varchar2)
  AS
     v_startdate varchar2(12);
     v_starttime varchar2(12);
     v_enddate varchar2(12);
     v_endtime varchar2(12);
     v_membernumber members.mem_number%type;
  BEGIN

   v_startdate := to_char(to_date(substr(p_startdate,0,8), 'DD-MM-RRRR'),'DD-MON
-RRRR');
   v_enddate   := to_char(to_date(substr(p_enddate,0,8),   'DD-MM-RRRR'),'DD-MON
-RRRR');

   spGetMemberNumber(p_number, v_membernumber);

   SELECT SUM(TRANS_TURNOVER)
     into p_handle
     FROM
     (
       select trans_code, trans_date, trans_time, trans_turnover, trans_table_na
me
         from TRANSACT
         WHERE  TRANS_CODE = v_membernumber
         and ( trans_date >= v_startdate
               and trans_date <= v_enddate)
     )
--     WHERE  TRANS_CODE = v_membernumber
     where TRANS_TABLE_NAME LIKE p_tablegameprefix||'%'
     and (
        ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
          to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
          >=
          to_date(p_startdate,'DD-MM-RRRR HH24MISS')
          AND
        ( to_date(to_char(TRANS_DATE, 'DDMMRRRR')||' '||
          to_char(TRANS_TIME, 'HH24MISS'), 'DD-MM-RRRR HH24MISS'))
          <= to_date(p_enddate,'DD-MM-RRRR HH24MISS')
       );
  END spGetTableHandle;
END spPackage;
/
show err


--- End Message ---

Reply via email to