论坛首页 综合技术论坛

erlang连接到mysql数据库

浏览 9169 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-02-18   最后修改:2011-02-18

erlang连接到mysql数据库

 

 

一,驱动的下载与安装

 

1.        下载erlang-mysql-driver

     下载地址如下:

     svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/     mysql

 (如果你没有安装SVN,附件中提供源码下载)

2.           src下面的所有源码进行编译

      erlc *.erl

 

3.           然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin     下面

4.           mysql整个文件夹拷贝到erlang/lib下面

 

二, 操作数据库

1                连接mysql:

mysql:start_link(PoolId, "localhost", "root", "password", "databasename").

 

2          mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,

             Reconnect).%%建立一个连接

 

3           数据操作

                   添加:

mysql:fetch(PoolId,<<”insert into….”>>).

   查询:

mysql:fetch(p1,<<"select * from user">>).

 

4                接收到数据后怎么处理

                   fetch(PoolId, "select * from user") -> Result

                   %%%     Result = {data, MySQLRes} | {updated, MySQLRes} |

                            %%%     {error, MySQLRes}

 

n  查询{data, MySQLRes} = fetch(PoolId, <<"select * from user">>).

Ø  获取字段名称信息:

            FieldInfo = mysql:get_result_field_info(MysqlRes).

Ø  获取字段值:

            AllRows   = mysql:get_result_rows(MysqlRes)

                  

n  更新:

{updated,UD} = mysql: fetch(PoolId, <<"update  * from user">>).

                 AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数

 

n  出错

{error,Err} = fetch(PoolId, <<"update  * from user">>).

Reason    = mysql:get_result_reason(MysqlRes).%%出错原因

   发表时间:2011-05-22  
dxm1986 写道

erlang连接到mysql数据库

 

 

一,驱动的下载与安装

 

1.        下载erlang-mysql-driver

     下载地址如下:

     svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/     mysql

 (如果你没有安装SVN,附件中提供源码下载)

2.           src下面的所有源码进行编译

      erlc *.erl

 

3.           然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin     下面

4.           mysql整个文件夹拷贝到erlang/lib下面

 

二, 操作数据库

1                连接mysql:

mysql:start_link(PoolId, "localhost", "root", "password", "databasename").

 

2          mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,

             Reconnect).%%建立一个连接

 

3           数据操作

                   添加:

mysql:fetch(PoolId,<<”insert into….”>>).

   查询:

mysql:fetch(p1,<<"select * from user">>).

 

4                接收到数据后怎么处理

                   fetch(PoolId, "select * from user") -> Result

                   %%%     Result = {data, MySQLRes} | {updated, MySQLRes} |

                            %%%     {error, MySQLRes}

 

n  查询{data, MySQLRes} = fetch(PoolId, <<"select * from user">>).

Ø  获取字段名称信息:

            FieldInfo = mysql:get_result_field_info(MysqlRes).

Ø  获取字段值:

            AllRows   = mysql:get_result_rows(MysqlRes)

                  

n  更新:

{updated,UD} = mysql: fetch(PoolId, <<"update  * from user">>).

                 AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数

 

n  出错

{error,Err} = fetch(PoolId, <<"update  * from user">>).

Reason    = mysql:get_result_reason(MysqlRes).%%出错原因


注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics