【发布时间】:2016-07-06 12:37:49
【问题描述】:
我正在尝试将数据插入 mysql 数据库。数据的连接和显示工作。
但我不知道如何在 C 代码中使用 INSERT INTO table 命令。
我尝试将带有scanf/getchar 的字符串读取到mysql 命令中的值,但没有成功。
在我的程序中读取数据后如何往mysql表中插入数据?
我在 Linux 中工作。
这是我的源代码:
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
static char *host = "localhost";
static char *user = "root";
static char *pass = "PASSWORD";
static char *dbname = "tutorial";
unsigned int port = 3306;
static char *unix_socket = NULL;
unsigned int flag = 0;
int main()
{
MYSQL *conn;
MYSQL_RES * res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if(!(mysql_real_connect(conn, host, user, pass, dbname, port, unix_socket, flag)))
{
fprintf(stderr, "Error: %s[%d]", mysql_error(conn), mysql_errno(conn));
exit(1);
}
mysql_query(conn, "SELECT * FROM users");
res = mysql_store_result(conn);
while(row = mysql_fetch_row(res))
{
printf("%s\t%s\n", row[0], row[1]);
}
mysql_free_result(res);
mysql_close(conn);
return EXIT_SUCCESS;
}
我试过了:
...
int id[1] = 5;
char name[8] = "Jack";
...
mysql_query(conn, INSERT INTO users(id, name) VALUES(id, name);
...
【问题讨论】:
-
尝试时会发生什么?有错误吗?
-
不是错误,只是没有。