ADO到MySQL:CursorType的和的LockType

问题描述:

我想一个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中是否存在涵盖它们的相应选项?我应该如何继续?我可以忽略他们吗?

CursorType 1是adOpenKeyset,它表示允许通过记录集的所有类型的移动,并且您可以看到更改,但看不到其他用户的添加。换句话说,对于代码刚刚获得第一条记录的ID的记录集,这有点矫枉过正。 LockType 3是adLockOptimistic,这意味着记录仅在更新时被锁定。再一次,对于你根本没有做任何更新的记录集,这比你需要的更多。然而,我们都倾向于解决光标和锁定类型,这些类型适用于大多数目的(或者更有可能的是,我们移动到rs.Open以外的其他方法),并且对于从一个排,它真的没有什么区别你用什么。底线是,只要您可以设置您的MySQL查询以允许您执行所需的操作 - 读取,更新,添加,删除,您可以安全地忽略ADO使用的特定参数。