guowenfu 发表于 2014-2-27 21:04:45

论坛上pdf文件<mysql.au3> 一个小BUG,不知道是人为还是

;_MySQL_Num_Rows

Func _MySQL_Num_Rows($result)
        Local $rows = DllCall("libmysql.dll", "uint64", "mysql_num_rows", "ptr", $result)
        If @error Then Return SetError(1, 0, 0)
        Return __MySQL_ReOrderULONGLONG($rows)
EndFunc   ;==>_MySQL_Num_Rows

;__MySQL_ReOrderULONGLONG($rows)

Func __MySQL_ReOrderULONGLONG($UINT64)
        Local $int = DllStructCreate("uint64")
        Local $longlong = DllStructCreate("ulong;ulong", DllStructGetPtr($int))
        DllStructSetData($int, 1, $UINT64)
        Return 4294967296 * DllStructGetData($longlong, 1) + DllStructGetData($longlong, 2)
EndFunc   ;==>__MySQL_ReOrderULONGLONG
问题出在:
Return 4294967296 * DllStructGetData($longlong, 1) + DllStructGetData($longlong, 2)
导致查询结果的二维数组无法构造。

原作者不会那么粗心吧,
会不会论坛一些不愿意共享的又想刷分的人。

zhongzijie 发表于 2014-2-28 10:53:42

有可能啊,有可能是不小心的啊。

manbutianya 发表于 2015-5-8 12:05:28

回复 2# zhongzijie

喔喔!
页: [1]
查看完整版本: 论坛上pdf文件<mysql.au3> 一个小BUG,不知道是人为还是