5 name = "SQL Testing Lab",
6 author = "AlliedModders LLC",
7 description = "Tests basic function calls",
9 url = "http://www.sourcemod.net/"
12 public OnPluginStart()
14 RegServerCmd("sql_test_normal", Command_TestSql1)
15 RegServerCmd("sql_test_stmt", Command_TestSql2)
18 PrintQueryData(Handle:query)
20 if (!SQL_HasResultSet(query))
22 PrintToServer("Query Handle %x has no results", query)
26 new rows = SQL_GetRowCount(query)
27 new fields = SQL_GetFieldCount(query)
29 decl String:fieldNames[fields][32]
30 PrintToServer("Fields: %d", fields)
31 for (new i=0; i<fields; i++)
33 SQL_FieldNumToName(query, i, fieldNames[i], 32)
34 PrintToServer("-> Field %d: \"%s\"", i, fieldNames[i])
37 PrintToServer("Rows: %d", rows)
38 decl String:result[255]
40 while (SQL_FetchRow(query))
43 PrintToServer("Row %d:", row)
44 for (new i=0; i<fields; i++)
46 SQL_FetchString(query, i, result, sizeof(result))
47 PrintToServer(" [%s] %s", fieldNames[i], result)
52 public Action:Command_TestSql1(args)
55 new Handle:db = SQL_DefConnect(error, sizeof(error))
56 if (db == INVALID_HANDLE)
58 PrintToServer("Failed to connect: %s", error)
62 new Handle:query = SQL_Query(db, "SELECT * FROM gaben")
63 if (query == INVALID_HANDLE)
65 SQL_GetError(db, error, sizeof(error))
66 PrintToServer("Failed to query: %s", error)
74 return Plugin_Handled;
77 public Action:Command_TestSql2(args)
80 new Handle:db = SQL_DefConnect(error, sizeof(error))
81 if (db == INVALID_HANDLE)
83 PrintToServer("Failed to connect: %s", error)
87 new Handle:stmt = SQL_PrepareQuery(db, "SELECT * FROM gaben WHERE gaben > ?", error, sizeof(error))
88 if (stmt == INVALID_HANDLE)
90 PrintToServer("Failed to prepare query: %s", error)
92 SQL_BindParamInt(stmt, 0, 1)
93 if (!SQL_Execute(stmt))
95 SQL_GetError(stmt, error, sizeof(error))
96 PrintToServer("Failed to execute query: %s", error)
105 return Plugin_Handled;