public static PhpArray FetchAll(PhpResource resultIdentifier, object result_type, object decode_binary) { PhpSQLiteDbResult res = PhpSQLiteDbResult.ValidResult(resultIdentifier); if (res == null) { return(null); } SQLite.QueryResultKeys resType = QueryResultKeys.Both; if (result_type != null) { int val = PHP.Core.Convert.ObjectToInteger(result_type); if (val != 0) { resType = (SQLite.QueryResultKeys)val; } } bool intKey = (resType & SQLite.QueryResultKeys.Numbers) == SQLite.QueryResultKeys.Numbers; bool strKey = (resType & SQLite.QueryResultKeys.ColumnNames) == SQLite.QueryResultKeys.ColumnNames; PhpArray arr = new PhpArray(); PhpArray line = null; while ((line = res.FetchArray(intKey, strKey)) != null) { arr.AddToEnd(line); } if (arr.Count == 0) { return(null); } return(arr); }
internal static PhpSQLiteDbResult ValidResult(PhpResource handle) { PhpSQLiteDbResult result = handle as PhpSQLiteDbResult; if (result != null && result.IsValid) { return(result); } PhpException.Throw(PhpError.Warning, LibResources.GetString("invalid_result_resource")); return(null); }
public object query(ScriptContext context, object query, object resultType, PhpReference error) { SQLite.QueryResultKeys rt = SQLite.QueryResultKeys.Both; int vRt = PHP.Core.Convert.ObjectToInteger(resultType); if (Enum.IsDefined(typeof(SQLite.QueryResultKeys), vRt)) { rt = (SQLite.QueryResultKeys)vRt; } PhpSQLiteDbResult result = (PhpSQLiteDbResult)SQLite.Query(this.m_con, query, rt, error); if (result != null) { return(new SQLiteResult(result)); } else { return(null); } }
internal SQLiteResult(PhpDbResult res) : base("sqlite result") { this.m_res = (PhpSQLiteDbResult)res; }