mysql 程序设计遇到的一个问题
我按照教材中的例子,编写好了如下三个文件,并且编译通过了,生成了可执行的文件
文件1:common.h
文件2:common.c
文件3:client.c
应该很眼熟吧,那本入门书籍应该很多人看过的。
我在mysql中建立了数据库SAMP_DB
然后我这样执行后弹出如下提示:

请问,我哪里错了,应该怎么样才可以连接到我的数据库
ps:本机的hostname 就是ubutu。
文件1:common.h
#include <mysql.h>
MYSQL * do_connext(char * host_name,char *user_name,char *password,char *db_name,
unsigned int port_num,char* socket_name,unsigned int flags);
void do_disconnect(MYSQL *conn);
文件2:common.c
#include "common.h"
#include <stdio.h>
MYSQL *do_connect(char *host_name,char *user_name,char*password,char *db_name,
unsigned int port_num,char *socket_name,unsigned int flags)
{
MYSQL *conn;
conn = mysql_init(NULL);
if(conn == NULL)
{
fprintf(stderr,"mysql_init() failed\n");
return NULL;
}
if(mysql_real_connect(conn,host_name,user_name,password,db_name,port_num,socket_name,flags) == NULL)
{
fprintf(stderr,"mysql_real_connect() failed: \n Error %u (%s)\n",mysql_errno(conn),mysql_error(conn));
return NULL;
}
return conn;
}
void do_disconnect(MYSQL *conn)
{
mysql_close(conn);
}
文件3:client.c
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
#include "getopt.h"
#include "common.h"
#define def_host_name NULL
#define def_user_name NULL
#define def_password NULL
#define def_port_num 0
#define def_socket_name NULL
#define def_db_name NULL
char *groups[] = {"client",NULL};
struct option long_options[] =
{
{"host",required_argument,NULL,'h'},
{"user",required_argument,NULL,'u'},
{"password",optional_argument,NULL,'p'},
{"port",required_argument,NULL,'P'},
{"socket",required_argument,NULL,'S'},
{0,0,0,0}
};
MYSQL *conn;
int main(int argc,char *argv[])
{
char *host_name = def_host_name;
char *user_name = def_user_name;
char *password = def_password;
unsigned int port_num = def_port_num;
char *socket_name = def_socket_name;
char *db_name = def_db_name;
char passbuf[100];
int ask_password = 0;
int c,option_index = 0;
int i;
my_init();
while((c = getopt_long(argc,argv,"h:p::u:P:S",long_options,&option_index))!=EOF)
{
switch(c)
{
case 'h':
host_name = optarg;
break;
case 'u':
user_name = optarg;
break;
case 'p':
{
if(!optarg)
ask_password = 1;
else
{
(void)strncpy(passbuf,optarg,sizeof(passbuf)-1);
passbuf[sizeof(passbuf)-1] = '\0';
password = passbuf;
while(*optarg)
*optarg++ = ' ';
}
break;
}
case 'P':
port_num = (unsigned int)atoi(optarg);
break;
case 'S':
socket_name = optarg;
break;
}
}
argc -= optind;
argc += optind;
if(argc > 0)
{
db_name = argv[0];
--argc;
++argv;
}
if(ask_password)
password = get_tty_password(NULL);
conn = do_connect(host_name,user_name,password,db_name,port_num,socket_name,0);
if(conn == NULL)
exit(1);
do_disconnect(conn);
exit(0);
}
应该很眼熟吧,那本入门书籍应该很多人看过的。
我在mysql中建立了数据库SAMP_DB
然后我这样执行后弹出如下提示:

请问,我哪里错了,应该怎么样才可以连接到我的数据库
ps:本机的hostname 就是ubutu。
...全文
相关推荐
php与mysql程序设计第4版 php源代码
MySQL则是一个关系型数据库管理系统,以其高速度和易用性而闻名。
PHP与MySQL 5程序设计(2009版)
### PHP与MySQL 5程序设计(2009版)知识点概述#### 一、书籍简介《PHP与MySQL 5程序设计(2009版)》是一本旨在帮助读者深入理解和掌握PHP与MySQL结合使用的高级教程。
毕业设计PHP+Mysql论坛网站程序设计.pdf
在这样的背景下,PHP+MySQL论坛网站程序设计成为了许多计算机专业学生的毕业设计项目。
基于《PHP程序设计》的多课程融合教学改革实践研究 (2).pdf
《PHP程序设计》课程的教学目标是通过该课程的学习,让学生掌握使用PHP语言,结合MySQL数据库、Web前端的知识,运用软件工程的思想设计开发出一个实际可用的网站项目,同时了解网站管理运维的方法。
PHP程序设计-3期(KC016) 4.2MySQL登录常见问题.doc
在PHP程序设计中,与MySQL数据库的交互是一个重要的环节。然而,对于初学者而言,往往会遇到一些登录MySQL的常见问题。下面将详细解释这些问题及其解决方案。


