【发布时间】:2016-04-23 18:24:38
【问题描述】:
我有这个代码:
case catch ejabberd_odbc:sql_query(
Server,
["select COUNT(*) as total from users "
"where username='", IdUsername, "'"]) of
{selected, [<<"total">>], [{Totale}]} ->
io:format(Totale);
_ ->
io:format("err")
end,
但总是将“err”打印到控制台,但如果我使用这个:
Result = ejabberd_odbc:sql_query(Server, ["select COUNT(*) as total from users where username='", IdUsername, "';"]),
io:format(Result),
我有这个输出:
{badarg,[{io,format,[<0.42.0>,{selected,[<<"total">>],[[<<"1">>]]},[]], []},{mod_http_offline,create_message,3,[{file,"mod_http_offline.erl"}, {line,35}]},{ejabberd_hooks,safe_apply,3,[{file,"src/ejabberd_hooks.erl"}, {line,382}]},{ejabberd_hooks,run1,3,[{file,"src/ejabberd_hooks.erl"}, {line,329}]},{ejabberd_sm,route,3,[{file,"src/ejabberd_sm.erl"}, {line,111}]},{ejabberd_local,route,3,[{file,"src/ejabberd_local.erl"}, {line,112}]},{ejabberd_router,route,3,[{file,"src/ejabberd_router.erl"}, {line,75}]},{lists,foreach,2,[{file,"lists.erl"},{line,1336}]}]}
我可以在哪里看到这个:
{selected,[<<"total">>],[[<<"1">>]]}
如果我在一个案例中使用“total”而不是 >,则会出现同样的错误,那么问题是什么?我怎样才能得到整数?
【问题讨论】: