gpt4 book ai didi

mysql - 使用c连接到mysql数据库时出现段错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:59 26 4
gpt4 key购买 nike

有谁知道为什么下面的代码在运行时会导致段错误?

#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
printf("MySQL client version : %s\n", mysql_get_client_info());
MYSQL *conn=NULL;
mysql_init(conn);
char *server = "localhost";
char *user = "root";
char *password = "pass";
char *database = "weather";
char *table ="room_temp";
char *tst_qry="INSERT INTO `weather`.`room_temp` (`idx`, `date`, `temperature`) VALUES (NULL, CURRENT_TIMESTAMP, '10')";

mysql_real_connect(conn, server, user, password, database, 0, NULL, 0);


}

我遵从了如下

gcc -o mysql $(mysql_config --cflags) mysql.c $(mysql_config --libs)

输出如下,

MySQL client version : 5.5.31
Segmentation fault

请帮忙!

最佳答案

分配的 对象未存储在您的代码中。因此,您将 NULL 传递给 mysql_real_connect()

改变这一行:

mysql_init(conn);

到:

conn = mysql_init(conn);

或者更直接地说:

conn = mysql_init(NULL);

关于mysql - 使用c连接到mysql数据库时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17507415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com