Php ADO到MySQL:游标类型和锁类型

Php ADO到MySQL:游标类型和锁类型,php,mysqli,vbscript,asp-classic,ado,Php,Mysqli,Vbscript,Asp Classic,Ado,我正在尝试将一个ASP-ADO代码转换为PHP-MySQL代码,接下来要转换以下代码块: Function FindBankName(bankNo) If IsNull(bankNo) Or IsNumeric(bankNo) = False Then Exit Function Dim recordSet Set recordSet = Server.CreateObject("Adodb.Recordset") recordSet.Open "SELECT

我正在尝试将一个
ASP-ADO
代码转换为
PHP-MySQL
代码,接下来要转换以下代码块:

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
Open
函数的最后两个参数1和3在Microsoft文档中定义为:

游标类型

可选。CursorTypeEnum值,用于确定提供程序在打开记录集时应使用的游标类型。默认值为ADOPENFORWARD ONLY

锁式

可选。LockTypeEnum值,用于确定提供程序在打开记录集时应使用的锁定(并发)类型。默认值为adLockReadOnly


MySQLi中是否有相应的选项涵盖它们?我应该如何进行?我可以忽略它们吗?

游标类型1是adOpenKeyset,这意味着允许通过记录集进行所有类型的移动,您可以看到更改,但看不到其他用户添加的内容。换句话说,对于代码只获取第一条记录ID的记录集,这有点过分了。LockType 3是AdLockOptimize,这意味着记录仅在更新时锁定。同样,对于一个根本不进行任何更新的记录集,它超出了您的需要

尽管如此,我们都倾向于使用游标和锁类型,这两种类型适用于大多数目的(或者,更可能的情况是,我们使用的是
rs.Open
)以外的其他方法),对于从一行返回两列的查询,使用什么实际上没有什么区别

底线是,只要您可以将MySQL查询设置为允许您执行所需的操作(读取、更新、添加、删除),您就可以安全地忽略ADO使用的特定参数