我是C的新手,并且一直在尝试从mysql中获取结果并将其存储为稍后要调用的变量。到目前为止,我已设法连接到我的数据库,获取结果并将其打印到终端。但我不知道如何将它存储为变量。非常感谢任何帮助。
这是我到目前为止所做的:
#include <mysql.h>
#include <stdio.h>
main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = ""; /* set me first */
char *database = "develop";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/* send SQL query */
if (mysql_query(conn, "SELECT * FROM action ")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
/* output table name */
printf("MySQL Data:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
/* close connection */
mysql_free_result(res);
mysql_close(conn);
}
谢谢,
小连
答案 0 :(得分:0)
与在C中存储任何变量的方式相同。由于您可以将信息输出到控制台,因此您已经完成了困难。要存储变量,请分配它。在C中,您声明类型,名称,然后声明您的SQL语句。 e.g。
#include <sys/time.h>
#include <stdio.h>
#include <mysql.h>
int main(char **args) {
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection, mysql;
int state;
以上是变量声明的位置。说*结果的部分;是PHP等价的$ result
他正在连接数据库。
/* connect to the mySQL database at athens.imaginary.com */
mysql_init(&mysql);
connection = mysql_real_connect(&mysql,
"athens.imaginary.com",
0, 0,
"db_test", 0, 0);
/* check for a connection error */
if( connection == NULL ) {
/* print the error message */
printf(mysql_error(&mysql));
return 1;
}
state = mysql_query(connection,
"SELECT test_id, test_val FROM test");
if( state != 0 ) {
printf(mysql_error(connection));
return 1;
}
/* must call mysql_store_result() before we can issue any
* other query calls
*/
分配结果,打印数组
result = mysql_store_result(connection);
printf("Rows: %d\n", mysql_num_rows(result));
/* process each row in the result set */
while( ( row = mysql_fetch_row(result)) != NULL ) {
printf("id: %s, val: %s\n",
(row[0] ? row[0] : "NULL"),
(row[1] ? row[1] : "NULL"));
}
/* free the result set */
mysql_free_result(result);
/* close the connection */
mysql_close(connection);
关闭PHP说的连接:$ conn = null;
printf("Done.\n");
}
为此来源添加了备注:http://docstore.mik.ua/orelly/linux/sql/ch13_01.htm