2016-08-02 52 views
1

我想一個ASP-ADO代碼轉換爲PHP-MySQL代碼和我下面的代碼塊到下一個轉換:ADO到MySQL:CursorType的和的LockType

Function FindBankName(bankNo) 

    If IsNull(bankNo) Or IsNumeric(bankNo) = False Then Exit Function 
    Dim recordSet 

    Set recordSet = Server.CreateObject("Adodb.Recordset") 
    recordSet.Open "SELECT Id, MainPos FROM bank WHERE MainPos = "& bankNo &"", db, 1, 3 
    If Not recordSet.EOF Then 
     FindBankName = recordSet("Id") 
    End If 
    recordSet.Close 
    Set recordSet = Nothing 

End Function 

最後兩個參數,1和3,Open功能

的CursorType

可選:在微軟的文檔定義。 CursorTypeEnum值,用於確定提供程序在打開Recordset時應使用的遊標類型。缺省值是adOpenForwardOnly。

鎖類型

可選。 LockTypeEnum值,用於確定提供程序在打開Recordset時應使用的鎖定類型(併發性)。默認值是adLockReadOnly。

MySQLi中是否存在涵蓋它們的相應選項?我應該如何繼續?我可以忽略他們嗎?

回答

1

CursorType 1是adOpenKeyset,它表示允許通過記錄集的所有類型的移動,並且您可以看到更改,但看不到其他用戶的添加。換句話說,對於代碼剛剛獲得第一條記錄的ID的記錄集,這有點矯枉過正。 LockType 3是adLockOptimistic,這意味着記錄僅在更新時被鎖定。再一次,對於你根本沒有做任何更新的記錄集,這比你需要的更多。然而,我們都傾向於解決光標和鎖定類型,這些類型適用於大多數目的(或者更有可能的是,我們移動到rs.Open以外的其他方法),並且對於從一個排,它真的沒有什麼區別你用什麼。底線是,只要您可以設置您的MySQL查詢以允許您執行所需的操作 - 讀取,更新,添加,刪除,您可以安全地忽略ADO使用的特定參數。