mysql在c编程中的应用
我在虚拟机上安装了ubuntu。在那里,我安装了mysql服务器mysql在c编程中的应用,mysql,c,ubuntu,gcc,Mysql,C,Ubuntu,Gcc,我在虚拟机上安装了ubuntu。在那里,我安装了mysql服务器sudo apt get install mysql server。这很有效,因为我可以访问mysql-u root-p密码 之后,我做了:sudo apt get install libmysqlclient dev #include <my_global.h> #include <mysql.h> int main(int argc, char **argv) { printf("MySQL cli
sudo apt get install mysql server
。这很有效,因为我可以访问mysql-u root-p密码
之后,我做了:sudo apt get install libmysqlclient dev
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
exit(0);
}
它起作用了
但是当我从下面编译这个的时候
gcc createdb.c -o createdb -std=c99 `mysql_config --cflags --libs`
我犯了一些错误
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
MYSQL *con = mysql_init(NULL);
if (con == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
exit(1);
}
if (mysql_real_connect(con, "localhost", "root", "root_pswd",
NULL, 0, NULL, 0) == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
if (mysql_query(con, "CREATE DATABASE testdb"))
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
mysql_close(con);
exit(0);
}
有人能解释一下我做错了什么,以及如何修复它吗
我只是想从C程序中的表中获取一些数据。我怀疑您实际上运行了
gcc createdb.c -o createdb -std=c99 `mysql_config` --cflags --libs
而不是
gcc createdb.c -o createdb -std=c99 `mysql_config --cflags --libs`
那是行不通的mysql\u config
,如果它没有得到任何参数,将打印出一组使用说明,这些说明将被传递到gcc
,然后您将使用--cflags--libs
,而gcc
也不理解gcc
严重混淆并投诉
如果您确保这些参数到达
mysql\u config
而不是gcc
,那么每个人都会很高兴。当您尝试编译时,似乎您的命令出错了,因为某些命令会被调用意外的参数,其中一些是其他命令的输出,这与其他文件无关,但更可能是编辑命令时出错。我无法重现此行为。你能再试一次吗?对我有用。这就是你用来编译它的命令行吗?正如@CMoi所说,您得到的“错误”实际上是来自mysql\u-config
的输出。我怀疑您实际上运行了gcc-createdb.c-o-createdb-std=c99`mysql\u-config`--cflags--libs
,而不是gcc-createdb.c-o-createdb-std=c99`mysql\u-config--cflags--libs`
。请不要在多个站点上发布相同的问题。我总是运行“gcc createdb.c-o createdb-std=c99mysql\u config--cflags--libs
”。这不是问题…我仍然有这些错误…我的意思是,我使用gcc createdb.c-o createdb-std=c99'mysql_config--cflags--libs'和'institle'
gcc createdb.c -o createdb -std=c99 `mysql_config` --cflags --libs
gcc createdb.c -o createdb -std=c99 `mysql_config --cflags --libs`