我想插入數據到MySQL數據庫。連接和數據顯示工作。如何在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);
...
當你嘗試時會發生什麼?有錯誤嗎? – Taegost
不是一個錯誤,只是沒有。 –