免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 828 | 回复: 1
打印 上一主题 下一主题

pike连接Mysql的问题,请高手赐教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-18 15:06 |只看该作者 |倒序浏览
用pike写了个小程序(tt.pike)连接mysql.
如下:

int main()
{

        Mysql.mysql("localhost","database_test","root","123123");

        Mysql.mysql()->big_query("select * from table_test limit 1");

        return 1;
}

执行pike tt.pike报错如下:


Mysql.mysql(): Couldn't reconnect to SQL-server
Access denied for user: 'root@localhost' (Using password: NO)
Mysql.mysql:
    Mysql.mysql()->_sprintf("Mysql.mysql(): Couldn't reconnect to SQL-servernAccess denied for user: 'root@localhost' (Using pass
    word: NO)n")                                                                                                                 
/usr/local/pike/7.4.28/lib/master.pike:2607: master()->describe_function(Mysql.mysql()->create)
/usr/local/pike/7.4.28/lib/master.pike:2717:
    master()->describe_backtrace(({backtrace_frame(/usr/local/pike/7.4.28/lib/master.pike:1957, _main(), Args: 2),backtrace_frame(
    /home/test/xw/tt.pike:11, main(), No args),backtrace_frame(Unknown file, create(), No args)}),132)                          
/usr/local/pike/7.4.28/lib/master.pike:727:
    master()->handle_error(({"Mysql.mysql(): Couldn't reconnect to SQL-servernAccess denied for user: 'root@localhost' (Using pas
    sword: NO)n",,,0}))                                                                                                         
Mysql.mysql(): Couldn't reconnect to SQL-server
Access denied for user: 'root@localhost' (Using password: NO)
Mysql.mysql: Mysql.mysql()->create()
tt.pike:11: tt()->main()

不知道为什么老连不上,请赐教.

pike文档: http://pike.ida.liu.se/generated ... l/mysql/create.html

论坛徽章:
0
2 [报告]
发表于 2005-11-18 18:12 |只看该作者
int main()
{

        object a = Mysql.mysql("localhost","testdb","root","123123");
        object b = Mysql.mysql_result;
        b = a->big_query("select * from test");
        array result = b->fetch_row();
        write("result--"+ result[1] +"n");
        return 1;
}

说明:

1、构造一个Mysql对象a,并连接数据库。

2、构造一个结果集对象b。

3、执行SQL操作,结果放到对象b中。

4、从游标中取出一行。

5、取出这一行的第二列数据。



注意分清面向对象的概念。

如果直接这么写:

int main()

{

        Mysql.mysql("localhost","testdb","root","123123");
        Mysql.mysql->big_query("select * from test");
        return 1;
}

这样会报错:Mysql.mysql(): Couldn't reconnect to SQL-server,重连接错误。相当于两次构造Mysql对象。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP