开发者

Erlang mysql example

开发者 https://www.devze.com 2022-12-16 03:02 出处:网络
Just wondering if anyone could give a working example of using the erlang-mysql module (http://code.google.com/p/erlang-mysql-driver/).

Just wondering if anyone could give a working example of using the erlang-mysql module (http://code.google.com/p/erlang-mysql-driver/).

I am new to erlang and I am trying to replace some old scripts with a few erlang batch processes. I am able to connect to the DB and even complete a query, but I am not sure how I use the results. Here is what I currently have:

-include("../include/mysql.hrl").
.开发者_开发技巧..
mysql:start_link(p1, "IP-ADDRESS", "erlang", "PASSWORD", "DATABASE"),
Result1 = mysql:fetch(p1, <<"SELECT * FROM users">>),
io:format("Result1: ~p~n", [Result1]),
...

I also have a prepared statement that I am also using to get just one row (if it exists) and it would be helpful to know how to access the results on that as well


This is described in the source code of mysql.erl:

Your result will be {data, MySQLRes}.

FieldInfo = mysql:get_result_field_info(MysqlRes), where FieldInfo is a list of {Table, Field, Length, Name} tuples.

AllRows = mysql:get_result_rows(MysqlRes), where AllRows is a list of lists, each representing a row.


you should check the count of rows, then execute:

eg: RowLen = erlang:length(Row), if RowLen > 0 -> {success}; true -> {failed, "Row is null"} end.


After trying to use the ODBC module that comes with Erlang/OTP, and running into problems, I recommend the mysql/otp driver. I replaced ODBC with it in just a few hrs and it works fine.

They have good documentation so I will not add examples here.

0

精彩评论

暂无评论...
验证码 换一张
取 消