2015-07-20 83 views
0

我目前正试图将一个项目从ASP转移到PHP。我没有使用ASP的经验,我发现很难弄清下面几行的内容。ASP:这段代码的目的究竟是什么

我可能应该提到原来的解决方案不是由我自己构建的,而是我在黑暗中。如果有人能够提供这里实际发生的事情的细节,它可以让我模仿PHP中的逻辑。

set rs_register = server.createobject("adodb.recordset") 
     rs_register.cursorlocation = adUseClient 
     rs_register.open str_products_sql, str_connection, adOpenStatic, adLockPessimistic '(CursorType,LockType) 
     rs_register.addnew 
       rs_register("str_session_id") = session.sessionid 
       rs_register("str_payment_ip") = request.servervariables("remote_addr") 
       rs_register.update 
       int_payment_id = rs_register("int_payment_id") 
       rs_register("str_reference") = get_reference(int_payment_id,str_payment_type) 
       rs_register.update 
       str_reference = rs_register("str_reference") 
       str_session_id = rs_register("str_session_id") 

       if int_payment_id = "" then 
       int_payment_id = rs_register("int_payment_id") 
       end if 
       rs_register.close : set rs_register = nothing 

回答

1

要确信,你需要检查的str_products_sql内容 - 这将告诉你,你正在尝试一个新的记录添加到表:

rs_register.open str_products_sql 

这个命令的意思是你”再添加一个新的记录:

rs_register.addnew 

然后你设置了几个字段,保存到数据库:

rs_register("str_session_id") = session.sessionid 
rs_register("str_payment_ip") = request.servervariables("remote_addr") 
rs_register.update 

之后,它然后查找读取来自新添加的记录(可能是自动递增字段或触发)的int_payment_id领域,然后基于另一个函数(get_reference)的str_reference领域。之后,它只是将结果读取到局部变量。

+0

谢谢,我有一个暗示它是类似的东西,但我对ASP的知识太粗略,无法确定大声笑 – cosmicsafari